Javascript 从当前文件夹读取文件
我有一个应该运行的节点程序,在运行时读取一些隐藏文件Javascript 从当前文件夹读取文件,javascript,node.js,typescript,Javascript,Node.js,Typescript,我有一个应该运行的节点程序,在运行时读取一些隐藏文件 .env.json或env.json。(非隐藏文件) 我尝试在需要阅读的程序中打印以下内容: dirname: /Users/i012344/projects/rs/deploy fileName: /Users/i012344/projects/rs/deploy/deploy/index.js process.argv[1]: /Users/i012344/.nvm/versions/node/v11.15.0/bin/yo 我运
.env.json
或env.json
。(非隐藏文件)
我尝试在需要阅读的程序中打印以下内容:
dirname: /Users/i012344/projects/rs/deploy
fileName: /Users/i012344/projects/rs/deploy/deploy/index.js
process.argv[1]: /Users/i012344/.nvm/versions/node/v11.15.0/bin/yo
我运行的程序名为:deploy/index.js
但是我不需要这个路径,因为它打印当前可执行程序的位置,我需要从我运行的当前文件夹中读取一个文件
我的节目
e、 g
现在,我在app1
文件夹中运行我的程序,需要获取.env.json
文件的内容,我该怎么做
当我打印时
console.log(“process.cwd():”,process.cwd())代码>
我得到了“/Users/i012344/projects”
我想要:/Users/i012344/projects/app1
跑步时
let filePath = path.join(__dirname, ".env.json");
console.log("ft: ",filePath);
当它在错误的地方搜索时,我出错了
fs.readFile(filePath, {encoding: "utf-8"}, function (err, data) {
if (!err) {
console.log("received data: " + data);
} else {
console.log(err);
}
});
{ [Error: ENOENT: no such file or directory, open 'Users/i012344/projects/rs/deploy']
errno: -2,
code: 'ENOENT',
syscall: 'open',
path:
'/Users/i012344/projects/rs/deploy/index.js/.env.json' }
我不明白为什么会发生这种情况,因为这就像一个程序需要读取package.json
,因为package.json在某个生成的项目中
我不适用于非隐藏文件,不确定我在这里遗漏了什么…,应该很简单,只需从应用程序运行的地方读取文件
难道不可能吗 您的fs.readFile()
应该可以工作。console.log(“ft:,filePath”)的输出是什么代码>?您的fs.readFile()
应该可以工作。console.log(“ft:,filePath”)的输出是什么代码>?
fs.readFile(filePath, {encoding: "utf-8"}, function (err, data) {
if (!err) {
console.log("received data: " + data);
} else {
console.log(err);
}
});
{ [Error: ENOENT: no such file or directory, open 'Users/i012344/projects/rs/deploy']
errno: -2,
code: 'ENOENT',
syscall: 'open',
path:
'/Users/i012344/projects/rs/deploy/index.js/.env.json' }