nodejs node name example directories __dirname javascript node.js path directory pwd

javascript - example - path name node js



Obteniendo el directorio desde el cual se ejecutó node.js (3)

__dirname te da la ruta donde reside un archivo.

Tengo un proyecto y lo ejecuto con el node main.js / make test etc. Lo que necesito es obtener este directorio de un script. No solo desde main.js , sino también desde cualquier submódulo. Intenté con el plugin path y el __directory , pero obtuve una ruta del archivo actual (por ejemplo, un submódulo). También intenté require(''path'').dirname(require.main.filename) , pero cuando ejecuto make test obtengo mocha dirname en lugar de mi directorio de proyecto. ¿Cuál es la forma más fácil de resolver esto?



require.cache almacena cada módulo cargado y sus valores importados asociados, módulo principal, módulos secundarios, ruta de archivo absoluta, etc.

Creo que cada módulo está asignado al objeto de caché utilizando su ruta de archivo como la clave de caché, pero es probable que desee comprobarlo, solo para asegurarse.

Si ese es el caso, algo tan simple como Object.keys(require.cache) le dará una matriz de rutas de archivos para todos los módulos. A continuación, analice cada ruta según sea necesario para extraer la información de directorio que está buscando de cada ruta de módulo.