У меня есть программа узла, которая должна запускаться и во время выполнения читать какой-нибудь скрытый файл .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
Но мне не нужен этот путь, так как он печатает местоположение текущей исполняемой программы, мне нужно прочитать файл из текущей папки, в которой я запускаю свою программу.
например,
/Users/i012344/projects/app1/.env.json
Теперь я запускаю свою программу в папке 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
как пакет. json находится в каком-то сгенерированном проекте.
Я не работает также с не скрытым файлом , не уверен, что я отсутствует здесь ..., это должно быть довольно просто, просто прочтите файл, из которого запущено ваше приложение
не так ли?