■ はじめに
https://dk521123.hatenablog.com/entry/2018/06/05/211900
https://dk521123.hatenablog.com/entry/2018/06/06/191400
の続き。
目次
【1】設定を外部ファイルから取得するには 【2】URLによって処理を変える
【1】設定を外部ファイルから取得するには
構文
外部ファイルの内容
exports.【キー】=【値】
読み込み
var settings = require('【外部ファイル】'); settings.【キー】
サンプル
settings.js
exports.port='18080'; exports.host='127.0.0.1';
hello.js
// HTTPモジュールを呼び出す var http = require('http'); // ★外部ファイルから取得★ var settings = require('./settings.js'); console.log(settings); var server = http.createServer(); server.on('request', function(request, response) { response.writeHead(200, {'Content-Type': 'text/plain'}); response.write('Hello World!'); response.end(); }); server.listen(settings.port, settings.host); console.log("Server listening...");
【2】URLによって処理を変える
構文
外部ファイルの内容
server.on('request', function(request, response) { var result; switch (request.url) { case '/【パス1】': // 【処理1】 break; case '/【パス2】': // 【処理2】 break; default: // 【処理3】 break; } });
サンプル
hello.js
// HTTPモジュールを呼び出す var http = require('http'); var settings = require('./settings.js'); console.log(settings); var server = http.createServer(); server.on('request', function(request, response) { var result; switch (request.url) { case '/hello': result = 'Hello!'; break; case '/world': result = 'World!!'; break; default: result = 'Thanks!!!'; break; } response.writeHead(200, {'Content-Type': 'text/plain'}); response.write(result); response.end(); }); server.listen(settings.port, settings.host); console.log("Server listening...");
出力結果
ブラウザで以下をアクセスする
Hello!
World!!
Thanks!!!
【3】HTMLファイルを読み込む
構文
// File Systemジュールを呼び出す var fileSystem = require('fs'); fileSystem.readFile(__dirname + '/【パス】', 'utf-8', function(error, data) { // 処理 });
サンプル
helloworld.html
<html> <body> <h1>Hello World!!!!</h1> </body> </html>
hello.js
// HTTPモ/File Systemジュールを呼び出す var http = require('http'), fileSystem = require('fs'); // 外部ファイルから取得 var settings = require('./settings.js'); console.log(settings); var server = http.createServer(); server.on('request', function(request, response) { fileSystem.readFile(__dirname + '/helloworld.html', 'utf-8', function(error, data) { if (error) { response.writeHead(404, {'Content-Type': 'text/plain'}); response.write('Not Found...'); response.end(); } else { response.writeHead(200, {'Content-Type': 'text/html'}); response.write(data); response.end(); } }); }); server.listen(settings.port, settings.host); console.log("Server listening...");
関連記事
Node.js ~ 基礎知識 / 環境構築編 ~
https://dk521123.hatenablog.com/entry/2018/06/05/211900