javascript - ¿Para qué sirve el campo "módulo" package.json?
npm (2)
¿Es
"module"
una propiedad oficial de npm o es una convención de algún tipo?
Es una proposal , pero es probable que sea compatible debido al uso de facto.
¿Hay documentación para esto en alguna parte?
La hay, de hecho, y se puede encontrar aquí y luego eliminarla here .
¿Para qué sirve?
Interoperabilidad del módulo ES6 en el nodo. Discusión adicional se puede encontrar here y here . Y aquí hay una publicación de blog de Rich Harris que habla más sobre ello.
He visto que algunos paquetes npm (
vue, por ejemplo
) tienen un campo
pkg.module
en su package.json.
¿Es
"module"
una propiedad oficial de npm o es una convención de algún tipo?
¿Hay documentación para esto en alguna parte?
¿Para qué sirve?
esnext path?
¿Ruta de módulo desagrupada?
Esto lo utilizan las herramientas de agrupación para la detección de ESM (módulo ECMAScript). La documentación de Rollup lo dice bastante bien:
Si su archivo
package.json
también tiene un campo demodule
, las herramientas compatibles con ES6 como Rollup y webpack 2 importarán directamente la versión del módulo ES6 .
Este artículo en Rollup 1.0 lo dice de otra manera:
El campo
main
se asegura de que los usuarios de Nodo que usanrequire
reciban la versión UMD. El campo delmodule
no es una función npm oficial, sino una convención común entre los agrupadores para designar cómo importar una versión ESM de nuestra biblioteca.
Una discusión adicional sobre
pkg.module
está en
Rollup Github Wiki
y en el
paquete
webpack.js.org/guides/author-libraries/#final-steps
.