Cómo comenzar rápidamente con VUE3.0: comenzar a aprender.
Recientemente, he estado escribiendo muchos scripts de Nodejs y encontré un problema. Después de modificar el tipo: "módulo" de package.json, algunas herramientas no se pueden utilizar normalmente (por ejemplo, postcss-cli).
Este artículo registra principalmente cómo resolver el problema del uso del módulo commonjs en modo esmodule.
1. Reemplazar el complemento
parece una tontería, pero no lo es. Tomemos postcss como ejemplo. De hecho, ha habido un problema que debemos seguir, pero aún no se ha actualizado. He visto reimplementaciones como postcss-es-modules (el volumen de descarga no es alto, así que no lo he probado todavía).
O use complementos a través del soporte del marco vite/rollup (hablaremos sobre cómo lo maneja el marco más adelante), por ejemplo
// tailwind.config.js exportar predeterminado { purgar: ['./*.html', './src/**/*.{vue,js,ts,jsx,tsx,css}'], modo oscuro: falso, // o 'medios' o 'clase' tema: { extender: {}, }, variantes: { extender: {}, }, complementos: [], } // postcss.config.js importar viento de cola desde 'tailwindcss' importar autoprefixer desde 'autoprefixer' importar tailwindConfig desde './tailwind.config.js' exportar predeterminado { complementos: [viento de cola (tailwindConfig), prefijo automático], } // vite.config.js CSS: { postcss, }2. A través del método de expansión admitido por nodejs (tipo: "
módulo
"), cambie el sufijo del archivo a .cjs y luego podrá importar el módulo commonjs mediante la importación predeterminada desde '*.cjs';
función suma(a, b) { devolver a+b } módulo.exportaciones = { suma } // index.js importar utilidades desde './utils.js' console.log(utils.sum(1, 2))
3. Marque los archivos de entrada de diferentes módulos a través del campo de exportación de package.json (esta también es una práctica común para la mayoría de las bibliotecas de terceros, por ejemplo,
// paquete). json "exportaciones": { "importar": "./index.js", "requerir": "./index.cjs" }
1. ¿Cómo maneja nodejs los archivos con sufijo .mjs/.cjs?
Nodejs siempre carga archivos .mjs con el módulo esmodule y archivos .cjs con commonjs. Cuando package.json está configurado para escribir: "módulo", los archivos .js siempre se cargan como esmodule.