Soy nuevo en la publicación de paquetes npmjs y recientemente publiqué mi primer paquete con éxito. Pero como está escrito en estilo ES5. Se accede solo a través de "requerir"
const smiley = require('smiley-id');¿Qué se debe hacer para que también sea accesible a través de la declaración de importación? como esto
import smiley from 'smiley-id';o y
import { smileyId } from 'smiley-id';require es parte del sistema de módulos CommonJS (también conocido como módulos cjs ) mientras que la import y export se usan en el sistema de módulos es2015 (también conocidos como módulos JavaScript, módulos es6 o módulos esm ).
Puede usar import para módulos cjs y esm , pero no puede usar require para módulos esm . Esto significa que en un módulo esm (o archivo fuente que compilará con Typescript tsc o Babel o agrupará con Webpack) ya puede importar su paquete, tal como está, con import . Sin embargo, no puede usar importaciones con nombre. En su lugar, debe desestructurar el elemento importado después.
Si desea distribuirlo como un paquete esm , esto también es posible y tiene algunas ventajas, de las cuales la más importante está relacionada con la sacudida de árboles. Para distribuirlo como un módulo esm , le dice a su herramienta de compilación que genere módulos esm . Esto es diferente para diferentes herramientas. Para tsc por ejemplo, especifique --module es6 (hay varios objetivos que esm módulos esm). Para Webpack, Babel y Rollup, el procedimiento es diferente.