関連するcssスタイルシートを含むhtmlファイルを提供するために、nodejsで次の基本的なスクリプトを実行しています。
var http = require('http');
var fs = require('fs');
var path = require('path');
var serverPort = 8080;
var server = http.createServer(function(request, response) {
console.log('request starting ...');
var extname = path.extname(request.url);
var contentType = 'text/html';
switch (extname) {
case '.js':
contentType = 'text/javascript';
break;
case '.css':
contentType = 'text/css';
break;
}
fs.readFile('js/EmailDisplay/htm/index.html', function(error, content) {
if (error) {
console.log(error);
response.writeHead(500);
response.end();
} else {
console.log(contentType);
response.writeHead(200, {'Content-Type': contentType});
response.end(content,'utf-8');
}
});
});
server.listen(serverPort);
console.log('Server running at localhost:' + serverPort +"/");
ファイルを Firefox ([ファイル] -> [ファイルを開く]) で開くと、適切にレンダリングされます。localhost:8080 にアクセスすると、インデックス ページが表示されますが、スタイルは適用されません。なんで?fs.readFile ブロックの console.log は、両方のファイルが読み取られていることを示しています。
PS - これをやみくもに実行できるパッケージ (「接続」など) があることは知っていますが、そのルートに進む前に、実際に何が起こっているのかを理解しようとしています。