Empresas
Empleos
  • Sobre nosotros
  • Soluciones
    • Publicación de vacantes
      Publica tu vacante y recibe candidatos calificados en 48h.
    • Evaluación de candidatos
      500+ pruebas técnicas y psicológicas, más anti-fraude.
    • Headhunting
      Búsqueda ejecutiva a la medida de principio a fin.
    • Nómina + EOR
      Dispersión de nómina y EOR en más de 15 países de LATAM.
  • Precios
  • Empleos

0

286
Vistas
La optimización del paquete web con el complemento UglifyJS provoca un error de tiempo de ejecución

Tengo una aplicación React isomorfa que se incluye a través de un paquete web.

Tengo 2 puntos de entrada correspondientes a 2 salidas de archivos agrupados: vendors.js y app.js

Cuando se ejecuta el servidor webpack-dev-server o cuando se compila sin indicadores de optimización, todo funciona bien. Sin embargo, tan pronto como trato de usar el complemento Uglify , la salida compilada contiene errores.

Yo he tratado:

 webpack -p webpack -optimize-minimize

o en la configuración:

 new webpack.optimize.UglifyJsPlugin({sourceMap:false})

Pero todos dan como resultado el mismo error de tiempo de ejecución (variables indefinidas).

¿Hay algo obvio que pueda estar causando esto? ¿Uglify está siendo demasiado entusiasta y está eliminando algo que no debería?

over 4 years ago · Santiago Trujillo
3 Respuestas
Responde la pregunta

0

El problema estaba siendo causado por el triturador de Uglify. Sin saber qué cambio de nombre de variable estaba causando el problema, la solución fue desactivar por completo la manipulación:

 new webpack.optimize.UglifyJsPlugin({ sourceMap: false, mangle: false })

Esto debe agregarse como un complemento de Webpack a su archivo de configuración, por ejemplo:

 var config = { //... various config settings plugins: [ new webpack.optimize.UglifyJsPlugin({ sourceMap: false, mangle: false }) ] };
over 4 years ago · Santiago Trujillo Denunciar

0

Para aquellos que desactivaron mangle y aún tienen el problema, verifiquen si construyen con el parámetro -p. Parece que -p también altera la salida, y en mi caso, tuve que cambiar UflifyJsPlugin mangle a falso y compilar sin el indicador -p para que funcione (a costa de un aumento del peso de js de alrededor de 50 %)

over 4 years ago · Santiago Trujillo Denunciar

0

Lo solucioné usando lo siguiente (estoy usando Webpack 4.5):

 var config = { optimization: { minimizer: [ new UglifyJsPlugin({ uglifyOptions: { safari10: true, mangle: { safari10: true, } } }) ] } };

Desdehttps://github.com/mishoo/UglifyJS2/tree/harmony#mangle-options :

safari10 (falso predeterminado) -- Pase verdadero para solucionar el error del iterador de bucle de Safari 10 "No se puede declarar una variable let dos veces". Ver también: la opción de salida safari10.

También tenga en cuenta que esto va en optimization.minimizer . No me funcionó cuando lo puse en plugins .

over 4 years ago · Santiago Trujillo Denunciar
Responde la pregunta
Encuentra empleos remotos

¡Descubre la nueva forma de encontrar empleo!

Top de empleos
Top categorías de empleo
Empresas
Publicar vacante Precios Comercial
Legal
Términos y condiciones Política de privacidad
© 2026 PeakU Inc. All Rights Reserved.
Andres GPT
Recomiéndame algunas ofertas
Necesito ayuda