У меня есть исполняемый узел/скрипт javascript с логическим значением отладки, если установлено значение true, будет записана пара файлов. Этот исполняемый файл также является модулем узла. В зависимости от рабочего каталога пользователя, запускающего скрипт, кажется, что функция не может найти каталог для записи файлов.
Модуль устроен так
output/
lib/
helpers.js
index.js
Мое первоначальное рассуждение состояло в том, чтобы путь был.
helper.write = function(data,filename){
if(typeof data !== "string") data = JSON.stringify(data);
fs.writeFileSync("./output/"+filename, data);
};
Однако это работает при запуске скрипта из папки 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
Есть ли способ сохранить файл независимо от всех этих переменных?