Ho un nodo eseguibile/script javascript con un booleano di debug, se impostato su true verranno scritti un paio di file. Questo eseguibile è anche un modulo nodo. A seconda della directory di lavoro dell'utente che esegue lo script, sembra che la funzione non riesca a trovare la directory in cui scrivere i file.Percorso di scrittura del file system relativo all'interno del modulo
Il modulo è strutturato in questo modo
output/
lib/
helpers.js
index.js
Il mio ragionamento originale sarebbe quello di avere il percorso sia.
helper.write = function(data,filename){
if(typeof data !== "string") data = JSON.stringify(data);
fs.writeFileSync("./output/"+filename, data);
};
Tuttavia questo funziona quando si esegue lo script all'interno della cartella node_module
fs.writeFileSync("process.cwd()+"/node_modules/the_module/output/"+filename, data);
Ti piace questa
node ./my_app/node_modules/the_module/index.js
Questo diventa ancora più confusa se i moduli viene utilizzato in un altro file eseguibile che usa la biblioteca.
node ./my_app/run.js
C'è un modo per salvare il file indipendente da tutte queste variabili?