У меня есть исполняемый файл node/javascript script, у которого есть debug boolean, если установлено значение true, будет записано несколько файлов. Этот исполняемый файл также является модулем node. В зависимости от рабочего каталога пользователя, запускающего script, кажется, что функция не может найти каталог для записи файлов.
Модуль структурирован таким образом
output/
lib/
helpers.js
index.js
Мои первоначальные рассуждения состоят в том, чтобы иметь путь.
helper.write = function(data,filename){
if(typeof data !== "string") data = JSON.stringify(data);
fs.writeFileSync("./output/"+filename, data);
};
Однако это работает при запуске script из папки node_module
fs.writeFileSync("process.cwd()+"/node_modules/the_module/output/"+filename, data);
Подобно этому
node ./my_app/node_modules/the_module/index.js
Это становится еще более запутанным, если модули используются в другом исполняемом файле, который использует библиотеку.
node ./my_app/run.js
Есть ли способ сохранить файл, независимый от всех этих переменных?