デバッグブール値を持つ実行可能ノード/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
これらすべての変数から独立してファイルを保存する方法はありますか?