Mam wykonywalny skrypt węzła/javascript, który ma wartość logiczną debugowania, jeśli ustawione na true, kilka plików zostanie zapisanych. Ten plik wykonywalny jest także modułem węzła. W zależności od katalogu roboczego użytkownika uruchamiającego skrypt wydaje się, że funkcja nie może znaleźć katalogu do zapisania plików.Względna ścieżka zapisu systemu plików w module
Moduł jest zorganizowany jak ten
output/
lib/
helpers.js
index.js
moje oryginalne rozumowanie byłoby mieć ścieżka być.
helper.write = function(data,filename){
if(typeof data !== "string") data = JSON.stringify(data);
fs.writeFileSync("./output/"+filename, data);
};
Jednak to działa po uruchomieniu skryptu od wewnątrz folderu node_module
fs.writeFileSync("process.cwd()+"/node_modules/the_module/output/"+filename, data);
Ci się to
node ./my_app/node_modules/the_module/index.js
ten staje się jeszcze bardziej skomplikowane, gdy moduły są wykorzystywane w innym pliku wykonywalnego, który korzysta z biblioteki.
node ./my_app/run.js
Czy istnieje sposób na zapisanie pliku niezależnie od wszystkich tych zmiennych?