一尘不染

Node.js,无法打开文件。错误:ENOENT,状态为“ ./path/to/file”

node.js

我已经在计算机上使用express框架开发了一个node.js程序,该程序运行良好,没有任何抱怨。

但是,当我在打算用于其居住的SUSE Studio设备上运行该程序时,在任何文件交互时都会收到错误消息。

Error: ENOENT, stat './path/to/file'

我检查了文件权限是否正确。如果这很重要,我的计算机和设备正在运行不同版本的节点。

有什么想法吗?


阅读 256

收藏
2020-07-07

共1个答案

一尘不染

用a指定的路径.是相对于当前工作目录的,而不是相对于脚本文件的。因此,如果您运行该文件可能会找到,node app.js但如果运行则找不到node folder/app.js。唯一的例外是require('./file')并且这是唯一可能的,因为require每个模块都存在,因此知道从哪个模块调用它。

要创建相对于脚本的路径,必须使用__dirname变量。

var path = require('path');

path.join(__dirname, 'path/to/file')

或潜在地

path.join(__dirname, 'path', 'to', 'file')
2020-07-07