App chemin d'accès de base à partir d'un module NodeJS

Je suis en train de construire une application web en NodeJS, et je me suis mise en œuvre de mon API routes dans des modules séparés. Dans un de mes routes je fais une manipulation de fichiers et j'ai besoin de savoir la base, le chemin de app. si j'utilise __dirname il me donne le répertoire qui contient mon module de cours.

Je suis en train de l'utiliser pour obtenir la base de chemin de app (étant donné que je sais que le chemin relatif vers le module de chemin d'accès de base):

path.join(__dirname, "../../", myfilename)

Est-il un meilleur moyen que d'utiliser ../../? Je suis Nœud en cours d'exécution sous Windows donc il n'y a pas de process.env.PWD et je ne veux pas être spécifique à une plateforme de toute façon.

À l'aide de la ligne ci-dessus plusieurs fois en plusieurs modules répétitifs et incohérent. Il pourrait être utile de créer un statique fonction statique de la classe (par exemple Paths.getBasePath();) dans ce cas. Vous aurez seulement besoin de mettre à jour le chemin d'accès relatif à la fonction mentionnée ci-dessus lors de votre projet de modification de la structure. Avec une approche de ce genre, vous pouvez utiliser require('./Paths').getBasePath(); n'importe où, sans la nécessité d'utiliser ../../ de nouveau.

OriginalL'auteur Clint Powell | 2014-02-07