Estoy tratando de incluir algunos datos de simulación con un módulo de nodo (módulo B) y luego puedo hacer referencia a esos datos desde el módulo de llamada (módulo A). Los datos son un archivo de texto en el /data
directorio del módulo B. Tengo una función en el módulo B que llama los datos usando __dirname, pero claro que cuando se llama a esta función desde el módulo A, el __dirname hace referencia al directorio del módulo A ... no al módulo B. ¿Cuál es la mejor manera de incluir datos de activos como este y ponerlos a disposición en el módulo consumidor?
Respuestas
3 para la respuesta № 1Al empaquetar un módulo puede utilizar el files
propiedad de package.json para agrupar cualquier activo junto con su módulo.
Luego, en ese módulo, puedes usar un relativo ruta para hacer referencia a su activo incluido.
Imagina un módulo con esta estructura de archivos:
-assets
|-data.txt
index.js
En tus package.json usted podría tener un files
sección que parecía:
files: [
"index.js",
"assets/data.txt"
]
Y en index.js Podrías exponer tus datos de activos así:
let fs = import "fs";
function getAssetData() {
return fs.readFileSync("./assets/data.txt")
}
module.exports = { getAssetData };