错误:ENOENT:没有这样的文件或目录,打开“/moviedata.json”
Posted
技术标签:
【中文标题】错误:ENOENT:没有这样的文件或目录,打开“/moviedata.json”【英文标题】:Error: ENOENT: no such file or directory, open '/moviedata.json' 【发布时间】:2018-07-06 06:48:24 【问题描述】:我在节点 Js 中工作。 当我尝试加载文件时:moviedata.json,使用以下行:
var allMovies = JSON.parse(fs.readFileSync('moviedata.json', 'utf8'));
演出:
错误:ENOENT:没有这样的文件或目录,打开“./moviedata.json” 在错误(本机) 在 Object.fs.openSync (fs.js:640:18) 在 Object.fs.readFileSync (fs.js:508:33) 在对象。 (/Users/dortiz/Documents/NodeJS/pruebas/zw/aws/MoviesLoadData.js:13:31) 在 Module._compile (module.js:570:32) 在 Object.Module._extensions..js (module.js:579:10) 在 Module.load (module.js:487:32) 在 tryModuleLoad (module.js:446:12) 在 Function.Module._load (module.js:438:3) 在 Module.runMain (module.js:604:10)
错误:ENOENT:没有这样的文件或目录,打开“moviedata.json” 在错误(本机) 在 Object.fs.openSync (fs.js:640:18) 在 Object.fs.readFileSync (fs.js:508:33) 在对象。 (/Users/dortiz/Documents/NodeJS/pruebas/zw/aws/MoviesLoadData.js:13:31) 在 Module._compile (module.js:570:32) 在 Object.Module._extensions..js (module.js:579:10) 在 Module.load (module.js:487:32) 在 tryModuleLoad (module.js:446:12) 在 Function.Module._load (module.js:438:3) 在 Module.runMain (module.js:604:10)
要读取的文件在与 js 相同的文件夹中。
但我不明白我做错了什么
【问题讨论】:
fs.readFileSync('moviedata.json', 'utf8') 将在同一文件夹位置查找文件__dirname + '/moviedata.json'
感谢 __dirname 的工作
你必须输入正确的路径
【参考方案1】:
fs.readFileSync('moviedata.json', 'utf8')
将在您运行应用程序的目录中查找moviedata.json
,而不是在您的MoviesLoadData.js
文件所在的目录中。
假设您从/Users/dortiz/Documents/NodeJS/pruebas/zw
运行node aws/MoviesLoadData.js
,fs.readFileSync('moviedata.json', 'utf8')
会在/Users/dortiz/Documents/NodeJS/pruebas/zw
中寻找moviedata.json
,而不是在/Users/dortiz/Documents/NodeJS/pruebas/zw/aws
中
如果您要使用我给定的示例运行脚本,则需要预先添加 json 文件的路径以正确引用它。
fs.readFileSync(__dirname + '/moviedata.json', 'utf8')
我不确定您是如何运行代码的,因此我的示例可能无法在您的代码库中运行,但希望了解您出错的地方将有助于调试您的代码。
【讨论】:
以上是关于错误:ENOENT:没有这样的文件或目录,打开“/moviedata.json”的主要内容,如果未能解决你的问题,请参考以下文章
错误:ENOENT:没有这样的文件或目录,打开“/moviedata.json”
Heroku CLI 登录失败并出现错误“错误:ENOENT:没有这样的文件或目录,打开 'H:/_netrc'”
importSchema GraphQL 错误:ENOENT:没有这样的文件或目录,打开“./schema.graphql”
电子应用程序错误:ENOENT:没有这样的文件或目录,打开“/.env”