gpt4 book ai didi

node.js - Node JS 需要 ('path' )

转载 作者:太空宇宙 更新时间:2023-11-03 22:46:00 26 4
gpt4 key购买 nike

我的路径模块有这个问题。当我尝试在请求处理程序中使用“path.join...”时,我收到错误消息

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}');
});

最佳答案

它已损坏,因为您正在使用 var path = process.cwd() 重新分配到请求处理程序内的 path

var 声明为 hoisted ,这意味着您的实现相当于:

var requestHandler = (request, response) => {
var path; // hoisted!
var uri = url.parse(request.url).pathname;

var filename = path.join(process.cwd(), uri);

path = process.cwd();
// ...
};

关于node.js - Node JS 需要 ('path' ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42380380/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com