単純なリクエストハンドラを作成して、CSSファイルのペアを返します。 fs.readFileSyncを使うと簡単でした。しかし、私はreadFileの非同期バージョンを使用して同じタスクを達成するのが難しいです。以下は私のコードです。私のresponse.write()メソッドコールが2つの異なるコールバックの間でsplitを呼び出すことに問題があるようです。誰かが間違ったことを指摘できますか?興味深いことに、このコードは、最初のelse文の中にresponse.end()を入れると機能します。しかし、これは、(response.end()がすでに起動されているため)、2番目のcssファイルが返されないという問題を引き起こします。fs.readFileを使用してNode.js内の複数のファイルを読み込んで返す
function css(response) {
response.writeHead(200, {"Content-Type": "text/css"});
fs.readFile('css/bootstrap.css', function(error, content){
if(error){
console.log(error);
}
else{
response.write(content);
}
});
fs.readFile('css/bootstrap-responsive.css', function(error, content){
if(error){
console.log(error);
}
else{
response.write(content)
}
});
response.end();
}
したがって、2つのCSSファイルを1つの応答に追加しようとしていますか? – loganfsmyth
はい、そうです。 – hughesdan
誰かがリクエストするたびにファイルを読む必要があるのはなぜですか?あなたはそれらが頻繁に変わることを期待していますか?そうでない場合は、サーバが起動したときにメモリに読み込んで、必要なときに戻ってください。より速く動作します。 – Evgeny