我有一个名为“server.js”的Node.js文件。从文件夹外执行Node.js文件中断文件路径
在脚本中,我使用的东西就像打开某些文件:
var certPem = fs.readFileSync('cert_and_key_dev.pem', encoding='ascii');
使用bash shell,如果我cd到其中server.js是,并运行该命令的目录:
[mybashshell] $节点server.js
它的工作原理,我没有错误。服务器启动并运行。
现在,当我输出server.js文件所在的目录时,再次运行相同的shell命令来启动我的服务器。
它抱怨我的文件路径到我的“cert_and_key_dev.pem”被破坏。
我并不期待这样的事情发生。我虽然正在执行的脚本文件中使用的路径应该是相对于脚本文件,而不是执行我的bash shell命令的位置。
任何想法?
这个方法与chbrown给出的方法有什么区别吗?我很好奇哪种方法更合适。 – Zhang
这真的取决于目的。如果你运行更多的“服务器”,我会建议改成'__dirname'。例如,如果您正在运行文件夹上传脚本,我会建议使用chbrown的代码。您必须权衡计划在当前脚本的目录路径上使用当前工作目录路径的频率。 –