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: {
|
alias: {
|
||||||
"@": path.resolve(__dirname, "./src"),
|
"@": 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
|
// Configuración para procesar archivos .md e imágenes
|
||||||
assetsInclude: ["**/*.md", "**/*.png", "**/*.jpg", "**/*.jpeg", "**/*.svg", "**/*.gif"],
|
assetsInclude: ["**/*.md", "**/*.png", "**/*.jpg", "**/*.jpeg", "**/*.svg", "**/*.gif"],
|
||||||
|
|
|
||||||
Loading…
Reference in a new issue