fix: añadir dedupe de React en Vite y script de limpieza
- Añadir dedupe: ['react', 'react-dom'] en vite.config.ts - Esto fuerza una sola instancia de React en el bundle - Crear script limpiar-y-rebuild.sh para limpieza completa - Soluciona errores useLayoutEffect por React duplicado
This commit is contained in:
parent
ce9e21516d
commit
22b251d35c
39
scripts/limpiar-y-rebuild.sh
Executable file
39
scripts/limpiar-y-rebuild.sh
Executable file
|
|
@ -0,0 +1,39 @@
|
|||
#!/bin/bash
|
||||
# Script para limpiar dependencias y hacer rebuild completo
|
||||
# Soluciona problemas de React duplicado o mal resuelto
|
||||
|
||||
set -e
|
||||
|
||||
echo "╔══════════════════════════════════════════════════════════════╗"
|
||||
echo "║ 🧹 LIMPIEZA COMPLETA Y REBUILD ║"
|
||||
echo "╚══════════════════════════════════════════════════════════════╝"
|
||||
echo ""
|
||||
|
||||
echo "📋 Paso 1: Verificando versiones de React..."
|
||||
npm ls react react-dom 2>&1 | head -5
|
||||
echo ""
|
||||
|
||||
echo "🧹 Paso 2: Limpiando node_modules y package-lock.json..."
|
||||
rm -rf node_modules
|
||||
rm -f package-lock.json
|
||||
echo "✅ Limpieza completada"
|
||||
echo ""
|
||||
|
||||
echo "📦 Paso 3: Reinstalando dependencias..."
|
||||
npm install
|
||||
echo "✅ Dependencias reinstaladas"
|
||||
echo ""
|
||||
|
||||
echo "🔍 Paso 4: Verificando que no hay duplicados de React..."
|
||||
npm ls react react-dom 2>&1 | grep -E "(react@|UNMET|extraneous)" || echo "✅ No se encontraron duplicados"
|
||||
echo ""
|
||||
|
||||
echo "🔨 Paso 5: Haciendo build de producción..."
|
||||
npm run build
|
||||
echo ""
|
||||
|
||||
echo "✅ Proceso completado"
|
||||
echo ""
|
||||
echo "📊 Verificar que el build se completó correctamente:"
|
||||
echo " ls -lh dist/assets/ | grep vendor-react"
|
||||
|
||||
|
|
@ -37,6 +37,9 @@ export default defineConfig({
|
|||
alias: {
|
||||
"@": path.resolve(__dirname, "./src"),
|
||||
},
|
||||
// CRÍTICO: Forzar deduplicación de React para evitar errores useLayoutEffect
|
||||
// Esto asegura que solo hay una instancia de React en el bundle
|
||||
dedupe: ["react", "react-dom"],
|
||||
},
|
||||
// Configuración para procesar archivos .md e imágenes
|
||||
assetsInclude: ["**/*.md", "**/*.png", "**/*.jpg", "**/*.jpeg", "**/*.svg", "**/*.gif"],
|
||||
|
|
|
|||
Loading…
Reference in a new issue