Node.js,无法打开文件。 错误:ENOENT,stat'./path/to/file'

我已经开发了一个node.js程序,使用我的电脑上的express框架,它运行良好,没有任何抱怨。

但是,当我在我的SUSE Studio应用装置上运行该程序时,我将在任何文件交互中收到错误消息。

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

我已经检查过,文件权限是正确的,他们是。 如果这个问题很重要的话,我的电脑和我的电器都运行不同版本的节点。

有什么想法吗?

2 Solutions collect form web for “Node.js,无法打开文件。 错误:ENOENT,stat'./path/to/file'”

指定的path. 是相对于当前的工作目录,而不是相对于脚本文件。 所以,如果你运行node app.js可能会find该文件,但如果运行node folder/app.js则不会。 唯一的例外是require('./file') ,这是唯一可能的,因为每个模块require存在require ,因此知道从哪个模块被调用。

要创build相对于脚本的path,必须使用__dirnamevariables。

 var path = require('path'); path.join(__dirname, 'path/to/file') 

或潜在的

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

这里的代码来使用你的app.js

input指定文件名称

 res.download(__dirname+'/'+input); 
  • 在Grunt任务中使用节点检查器
  • Node.js + Express.js用户权限安全模型
  • Node.js中的后台进程
  • 响应被分块时获得整个响应主体?
  • Express中的app.use()和router.use()之间的区别
  • 如何用nvm更新节点
  • 什么是window.js相当于window = value?
  • 在Windows 10上安装Node.js(和npm)
  • 为什么Node中的PassportJS在注销时不会删除会话
  • 我如何获得Node工作队列中的callback列表? (或者,为什么Node不能退出?)
  • 如何通过browserify获得缩小的输出?