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?
process.cwd()
proporcionará eso.
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.