1
私はこの問題をパスモジュールに持っています。私は、リクエストハンドラ内で「... path.join」を使用しようとすると、私はエラーメッセージが表示されますノードJS require( 'path')
TypeError: Cannot read property 'join' of undefined
しかし、私はそれをコメント(のRequestHandlerの体内にモジュールをロードすることによって、それを修正することができますコード内で)。
なぜ失敗するのか、なぜ「修正」が機能するのか、これを処理する最も一般的な方法は何かを説明できますか?
var http = require('http');
var url = require('url');
var path = require('path');
var fs = require('fs');
var port = 3000;
var requestHandler = (request, response) => {
//path = require('path');
var uri = url.parse(request.url).pathname;
var filename = path.join(process.cwd(), uri);
var path = process.cwd();
var buffer = fs.readFileSync(path + "/someSite.html");
response.end(buffer);
};
var server = http.createServer(requestHandler);
server.listen(port, (err) => {
if (err) {
return console.log('sum ting wong', err);
}
console.log('server is listening on ${port}');
});
。 "変数宣言はコード実行前に処理されます"。 私はそれが同等であると言う理由を理解しています!ありがとう! – Fredrik