CSSやJSファイルを読み込めるようにする
CSSは /css/* に、JSは /js/* に置いていく前提で。 リクエストがあったときに該当するファイルが存在してれば fs.readFileでファイルを返すようにする。 返すときはres.writeHead(200, {'Content-Type': contentType});
でContent-Typeをheadに含めて返す。
var fs = require('fs') , path = require('path') , express = require('express') , app = express.createServer(); // staticなCSS, JSファイル app.get(/^\/(?:css|js)\/.+/, function(req, res) { var contentType = undefined , filePath = __dirname + req.url; // req.url は絶対パスになってるので // __dirnameでファイルパスへ置き換える // ファイルタイプでcontentTypeを切り替え switch( path.extname(req.url) ) { // extname(hoge)はURLの最後の.以降を返す // hoge.css => .css case '.css': contentType = 'text/css'; break; case '.js': contentType = 'text/javascript'; break; default: contentType = 'text/html'; } // ファイルがあればほげほげ path.exists(filePath, function(exists) { console.log(exists); if ( exists ) { fs.readFile(filePath, function(error, content) { if ( error ) { res.writeHead(500); res.end(); } else { res.writeHead(200, {'Content-Type': contentType}); res.end(content, 'utf-8'); } }); } else { res.writeHead(404); res.end(); } }); });