rok*_*kor 15 file-io node.js express
我一直在疯狂地试图解决这个问题.我有一些证书需要从我的api传递给身份验证客户端; 但是,应用程序继续抛出ENOENT异常,即使该文件明显存在于同一目录中(我已经弄清楚了这一点以确保).我正在使用readFileSync,有效地执行以下操作:
key: fs.readFileSync('./privateKey.pem'),
Run Code Online (Sandbox Code Playgroud)
奇怪的是,如果我在独立的节点服务器上运行它而不是作为api的一部分,则可以毫无问题地找到该文件.在这种情况下尝试使用readFileSync时是否有一些我不知道的注意事项?
谢谢!
log*_*yth 33
在node你需要非常小心的相对文件路径.我真正使用它们的唯一地方是require('./_____')语句,./意思是"相对于这个文件".但是,这require是一种特殊情况,因为它是一个node自动创建每个文件的函数,因此它知道当前文件的路径.
通常,标准函数无法知道包含恰好调用函数的脚本的目录,因此几乎在所有情况下,都./意味着相对于当前工作目录(运行时所在的目录node <scriptname>.js).唯一不是这种情况的情况是,您使用的脚本或模块显式调用process.chdir将工作目录设置为其他内容.引用相对于当前脚本文件的文件的正确方法是使用绝对路径显式使用__dirname + '/file.js'.
| 归档时间: |
|
| 查看次数: |
9666 次 |
| 最近记录: |