首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >Node.js,无法打开文件。错误: ENOENT,stat './path/to/file‘

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

Stack Overflow用户
提问于 2012-11-24 22:03:56
回答 2查看 161.9K关注 0票数 126

我已经在我的计算机上使用express框架开发了一个node.js程序,它运行得很好,没有任何问题。

但是,当我在我的SUSE Studio设备上运行该程序时,我在任何文件交互时都会收到一个错误。

代码语言:javascript
复制
Error: ENOENT, stat './path/to/file'

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

有什么想法吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-11-25 01:32:57

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

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

代码语言:javascript
复制
var path = require('path');

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

或者潜在地

代码语言:javascript
复制
path.join(__dirname, 'path', 'to', 'file')
票数 188
EN

Stack Overflow用户

发布于 2013-08-24 12:57:56

下面是使用app.js的代码

输入指定文件名

代码语言:javascript
复制
res.download(__dirname+'/'+input);
票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13541948

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档