为什么在server里,读取文件的相对路径 ./ 不能用了?【RESOLVED】
发布于 8 年前 作者 itonyday 3682 次浏览 来自 问答

代码其实很简单:

var server = http.createServer(function (request, response) { var filename = “./public/a.json”; fs.exists(filename, function (exists) { console.log(filename); console.log(exists); }); }); server.listen(8000, “127.0.0.1”); console.log(“server running at 8000.”);

之前我用 ./ 表示当前WEB的相对路径,可以读取到文件,后来不知道为什么突然不行了。

这是文件目录结构: 未标题-1.png

7 回复

文件多大呀?

文件路径是相对于node启动的路径,用node的宏__dirname替代

尽量不要用相对路径

@qimenxiaozi 我不太明白,为什么我前段时间是可以正常使用这个相对路径的。 现在突然就不行了? 谢谢。 OSX环境。

你的node apr*.js,这条启动命令在哪个路径启动的,最近变过没有?

@qimenxiaozi 谢谢大侠,我明白你的意思了。 我在teriminal里进入到server.js开始运行时,这个相对路径工作就是正常的。

回到顶部