当前位置: 首页 > 面试题库 >

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

袁雅逸
2023-03-14
问题内容

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

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

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

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

有什么想法吗?


问题答案:

用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')


 类似资料:
  • 问题内容: 我有Windows 7 32位。我安装了最新的32位Node.js。 当我尝试运行命令时,收到错误消息: 错误:ENOENT,状态为’C:\ Users \ RT \ AppData \ Roaming \ npm 如何解决呢? 问题答案: 在显示的路径中手动创建一个名为“ npm”的文件夹可以解决该问题。 可以在“ 故障排除”页面上找到更多信息。

  • 我想在数据目录中为应用程序创建一个数据库。我试着使用 但我总是遇到以下异常:无法打开数据库文件 Logcat得出以下结果: 04-10 19:55:09.387: E/SqliteDatabase aseCpp(554):sqlite3_open_v2("/data/data/at.einkaufsliste/database/Einkaufsliste.sqlite", 我设置了权限外部存储和组

  • 问题内容: 我正在尝试从命令行运行Websphere自由配置文件服务器。我正在按照这里告诉的步骤进行操作:https : //developer.ibm.com/wasdev/downloads/liberty-profile-using-non-eclipse- environments/ 我创建了名称为server1的服务器。 但是当提取完成后,我尝试使用以下命令启动服务器: 服务器抛出错误:

  • 问题内容: 不知道我做错了什么,我正在跟随一个有关如何使用Python和PyGame制作游戏的教程,但出现错误: 我的代码如下: 完整的错误消息是: 问题答案: 使用相对路径(这样做总是更好): 这样,无论您将包含文件的文件夹移动到何处,都可以访问其子目录(以及因此包含的所有子目录),而无需修改代码。 最终代码: 对所有其他文件使用此访问方法,将避免很多问题。

  • 我用的是Android平板,上面有Xamarin/C#应用。我试图用这款平板电脑访问驻留在我的Windows 10机器上的SQLite数据库。我选择使用USB/Android而不是Android模拟器,应用程序仍然驻留在Windows 10机器上。这似乎无关紧要,但我也尝试过映射驱动器、共享文件夹和创建网络连接。项目参考 这是代码: 命名空间CicoAndroid{公共部分类MainPage: C

  • 我在节点Js中工作。当我尝试加载文件时:moviedata.json,如下行: 显示: 错误:ENOENT:没有这样的文件或目录,打开'./moviedata.json'在错误(本机)在Object.fs.open同步(fs.js:640: 18)在Object.fs.readFileSync(fs.js:508: 33)在对象。(/用户/dortiz/文档/NodeJS/pruebas/zw/a