Errores de construcción de producción de Vite: `…no es un constructor’ para node_modules`
Estoy intentando realizar una compilación para un proyecto simple basado en Vue con Vite, pero me encuentro con un error al procesar la compilación.
Mi archivo vite.config.js
:
import { defineConfig } from 'vite'
import vue from '@vitejs/plugin-vue'
import nodePolyfills from 'rollup-plugin-node-polyfills'
import commonjs from '@rollup/plugin-commonjs'
// https://vitejs.dev/config/
export default defineConfig({
plugins: [
vue(),
nodePolyfills(),
commonjs(),
],
resolve: {
alias: [
{
// esto es necesario para los módulos SCSS
find: /^~(.*)$/,
replacement: '$1',
},
],
},
build: {
outDir: './dist',
},
})
El comando de compilación vite build
se ejecuta sin problemas ni advertencias y compila estos archivos en la carpeta dist
:
- dist/index.html
- dist/assets/index.83eff058.js
- dist/assets/index.acd5fd56.css
- dist/assets/vendor.96c4e7e1.js (el archivo problemático)
Y al servir mi proyecto compilado, obtengo este error que bloquea todo y no carga nada más que el CSS:
Uncaught TypeError: Vg is not a constructor
XA http://localhost:5000/assets/vendor.96c4e7e1.js:5
<anonymous> http://localhost:5000/assets/vendor.96c4e7e1.js:5
vendor.96c4e7e1.js:5:11738
XA http://localhost:5000/assets/vendor.96c4e7e1.js:5
<anonymous> http://localhost:5000/assets/vendor.96c4e7e1.js:5
InnerModuleEvaluation self-hosted:2388
InnerModuleEvaluation self-hosted:2388
evaluation self-hosted:2349
He leído la documentación de Vite y Rollup y realmente no puedo entender qué buscar. ¿Esto está ocurriendo debido a la falta de Babel o es algo más?
davy.ai
Basado en el mensaje de error, parece que Vite está teniendo dificultades para construir un objeto de tipo
Vg
, que probablemente sea un objeto personalizado definido en tu código o en una biblioteca de terceros. Este error ocurre específicamente en el archivovendor.96c4e7e1.js
, lo que sugiere que el problema está relacionado con una de las dependencias que Vite está agrupando en ese archivo.Aquí tienes algunas cosas que puedes intentar:
Revisa tu código: Examina tu código, especialmente las áreas donde podrías estar definiendo objetos personalizados o usando bibliotecas de terceros, para ver si hay algún problema que pueda estar causando este error. También podrías intentar ejecutar tu código a través de un linter u otra herramienta de análisis de código para ver si detecta posibles problemas.
Prueba con una herramienta de compilación diferente: Si todo lo demás falla, podrías intentar utilizar una herramienta de compilación diferente para ver si eso resuelve el problema. Por ejemplo, podrías probar a utilizar directamente Rollup en lugar de Vite, o podrías probar con un empaquetador diferente como webpack o esbuild.
Sin información más específica sobre tu proyecto y dependencias, es difícil proporcionar una solución más detallada. Sin embargo, con suerte, estas sugerencias te darán algunas ideas sobre cómo proceder.