De fichiers relatifs au système d'écriture de chemin d'accès dans le module

J'ai un exécutable node /script javascript qui a un boolean debug, si défini à true, un couple de fichiers doivent être écrites. Cet exécutable est aussi le nœud du module. Selon le répertoire de travail de l'utilisateur qui exécute le script, il semble que la fonction ne peut pas trouver le répertoire d'écrire des fichiers dans.

Le module est structuré comme ceci

output/
lib/
    helpers.js
index.js

Mon raisonnement serait d'avoir le chemin d'accès.

helper.write = function(data,filename){
    if(typeof data !== "string") data = JSON.stringify(data);
    fs.writeFileSync("./output/"+filename, data);
};

Toutefois cela fonctionne lors de l'exécution du script à partir de l'intérieur de la node_module dossier

fs.writeFileSync("process.cwd()+"/node_modules/the_module/output/"+filename, data);

Comme ce

node ./my_app/node_modules/the_module/index.js

Cela devient encore plus confuse si les modules est utilisé dans un autre fichier exécutable qui utilise la bibliothèque.

node ./my_app/run.js

Est-il un moyen d'enregistrer le fichier indépendant de toutes ces variables?

OriginalL'auteur ThomasReggi | 2013-03-06