Ich baue eine Web-App in NodeJS, und ich implementiere meine API-Routen in separaten Modulen. In einer meiner Routen mache ich einige Dateimanipulationen und ich muss den Basis-App-Pfad kennen. Wenn ich __dirname
verwende gibt es mir natürlich das Verzeichnis, in dem sich mein Modul befindet.App-Basispfad von einem Modul in NodeJS
Ich verwende diese zur Zeit die Basis App Pfad zu bekommen (da ich den relativen Pfad zu dem Modul von Basispfad kennen):
path.join(__dirname, "../../", myfilename)
Gibt es einen besseren Weg, als ../../
mit? Ich betreibe Node unter Windows, also gibt es keine process.env.PWD
und ich möchte sowieso nicht plattformspezifisch sein.
Mit der Linie über mehrere Male/in mehreren modules ist repetitiv und inkonsistent Es könnte in diesem Fall nützlich sein, eine _static_-Funktion in einer _static_-Klasse zu erstellen (zum Beispiel 'Paths.getBasePath();') Sie müssen nur den relativen Pfad in der genannten Funktion aktualisieren Wenn Sie Ihre Projektstruktur ändern, können Sie 'require ('./ Paths'). getBasePath();' anywhere verwenden, ohne '' ../../ 'erneut zu verwenden. –