es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

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?

Tags:  , , ,

Answer

  1. Avatar for 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 archivo vendor.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:

    1. Verifica tus dependencias: Revisa las dependencias en tu proyecto para asegurarte de que no haya conflictos de versión u otros problemas que puedan estar causando este error. También podrías intentar actualizar las dependencias relevantes para ver si eso resuelve el problema.
    2. 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.

    3. 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.

Comments are closed.