/ / Cómo empaquetar activos con un módulo de nodo - node.js, commonjs

Cómo empaquetar activos con un módulo de nodo - node.js, commonjs

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 № 1

Al 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 };