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

1.6K
Vistas
Uglify SyntaxError: Token inesperado: punc ())

Estoy tratando de usar trago para minimizar una carpeta que contiene archivos JS. Sin embargo, uno de los archivos tiene el error anterior, lo que impide que se minimice.

Me las arreglé para atrapar e imprimir el error, que he impreso parcialmente aquí:

 JS_Parse_Error { message: 'SyntaxError: Unexpected token: punc ())', filename: 'ex.js', line: 189, col: 25, pos: 6482, stack: Error\n at new JS_Parse_Error (eval at <anonymous> ... ) plugin: 'gulp-uglify', fileName: '.../js/ex.js', showStack: false }

El archivo en cuestión contiene lo siguiente, abreviado:

 function() { ... $.confirm({ buttons: { confirm: function() { $.post('/ajax-handler', { ... }) .done( function(response) { var data = filterResponse(response); if (data['status'] == 'success') { sleep(1000).then(() => { * ... }); sleep(5000).then(() => { ... }); } else { console.log('Oops!'); } }) .fail( function(err, status, response) { ... }); }, cancel: function() {} } }); ... }

Agregué el "*" arriba para indicar la posición exacta enumerada por JS_Parse_Error.

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

0

// Actualizar

De los comentarios ~ @imolit

v2.0.0 (2018-09-14) - CAMBIOS IMPORTANTES (enlace)

Vuelva a uglify-js (uglify-es está abandonado, si necesita el código uglify ES6, use terser-webpack-plugin ).


Respuesta original antes de la actualización...

Espero que pueda inspirarse con esta solución que funciona con webpack. (Link abajo)

Simplemente enseñe UglifyJS ES6

Hay dos versiones de UglifyJS - ES5 y ES6 (Harmony), ver en git
La versión ES5 viene de forma predeterminada con todos los complementos, pero si instala una versión de Harmony explícitamente, esos complementos la usarán en su lugar.

paquete.json

 "uglify-js": "git+https://github.com/mishoo/UglifyJS2.git#harmony"

o

 npm install --save uglify-js@github:mishoo/UglifyJS2#harmony yarn add git://github.com/mishoo/UglifyJS2#harmony --dev

paquete web

Para usarlo con webpack, instale también el complemento webpack

 npm install uglifyjs-webpack-plugin --save-dev yarn add uglifyjs-webpack-plugin --dev

luego importe el complemento instalado manualmente

 var UglifyJSPlugin = require('uglifyjs-webpack-plugin');

y reemplazarlo en el código

 - new webpack.optimize.UglifyJsPlugin({ ... }) + new UglifyJSPlugin({ ... })

Para obtener más información sobre el paquete web (instalación/uso), consulte https://github.com/webpack-contrib/uglifyjs-webpack-plugin#install

over 4 years ago · Santiago Trujillo Denunciar

0

npm install uglifyjs-webpack-plugin --save-dev no es suficiente

El problema principal es "uglifyjs-webpack-plugin": "^0.4.6" en el paquete webpack.json

Según semver , ^0.4.6 := >=0.4.6 <0.5.0 . Debido al cero inicial, webpack nunca usará 1.0.0-beta.2 .

Entonces, después de ejecutar npm i -D uglifyjs-webpack-plugin@beta , debe realizar un paso más, que es rm -rf node_modules/webpack/node_modules/uglifyjs-webpack-plugin . Luego, webpack recogerá la versión de node_modules/uglifyjs-webpack-plugin en lugar de node_modules/webpack/node_modules/uglifyjs-webpack-plugin

Actualización el 2018-04-18: webpack v4 no tiene este problema

over 4 years ago · Santiago Trujillo Denunciar

0

Agrega la dependencia babel-preset-es2015 para arreglar esto.

Y también agregue 'es2015' en el archivo .babelrc .

 json { "presets": ["es2015"] }
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