为什么在server里,读取文件的相对路径 ./ 不能用了?【RESOLVED】
代码其实很简单:
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的相对路径,可以读取到文件,后来不知道为什么突然不行了。
这是文件目录结构:
7 回复
文件多大呀?
文件路径是相对于node启动的路径,用node的宏__dirname替代
@qimenxiaozi 正解
尽量不要用相对路径
@qimenxiaozi 我不太明白,为什么我前段时间是可以正常使用这个相对路径的。 现在突然就不行了? 谢谢。 OSX环境。
你的node apr*.js,这条启动命令在哪个路径启动的,最近变过没有?
@qimenxiaozi 谢谢大侠,我明白你的意思了。 我在teriminal里进入到server.js开始运行时,这个相对路径工作就是正常的。