Problema como título,
Versión de Vue: 2.5.15
Versión del paquete web: 3.11.0
Cuando npm ejecuta build: sandbox , aparece el siguiente error:
ERROR in 98.145f98ef3cbd11bd2670.js from UglifyJs
Unexpected token: name (Point) [./node_modules/signature_pad/dist/signature_pad.m.js:6,0][98.145f98ef3cbd11bd2670.js:15,6]
Build failed with errors.
Parece que está usando una versión anterior de UglifyJS, que solo maneja código ES5. El código en signature_pad.m.js
usa funciones de ES6 +. Por lo tanto, si desea minimizarlo usando su versión de UglifyJS, primero debe compilarlo en ES5 usando, por ejemplo, Babel. También puede usar signature_pad.umd.js
, que ya está compilado en ES5.
@ kevinchung1026 Ayer tuve el mismo problema. Hice un walkover y lo arreglé agregando la regla adicional a mi paquete web.
{
test: /\.js?$/,
include: [/node_modules\/signature_pad/],
use: [
{
loader: 'babel-loader',
options: {
cacheDirectory: true,
presets: [['env', { 'modules': false, 'targets': { 'node': 4 } }]]
}
}
],
},
Espero que también te ayude 😄
está bien ahora, gracias a todos
De acuerdo con https://github.com/rollup/rollup/wiki/pkg.module, lo que se especifique en el campo module
del archivo package.json debe usar solo la sintaxis del módulo ES2015, pero se espera que el resto del código siga la sintaxis de la versión mínima requerida del paquete del entorno JS.
Actualmente no es posible utilizar este módulo de fábrica con el paquete web (porque de forma predeterminada prefiere module
a main
) (consulte https://webpack.js.org/configuration/resolve/ # resolve-mainfields) al igual que otros módulos. Por lo tanto, se requieren algunos de estos ajustes personalizados en el sistema de construcción (como se señaló anteriormente) para obligar a babel a transpilar este módulo en particular del directorio node_modules a los objetivos del proyecto.
Supongo que agregar el campo browser
en package.json podría ser una solución rápida.
¡Hola!
Estoy usando angular 2 y la versión anterior de UglifyJS y tuve el mismo ERROR con uglifyJS + signature_pad.
Resolví el problema con la ayuda de las respuestas anteriores, agregando una nueva regla de paquete web
{
test: /\.js?$/,
include: [/node_modules\/signature_pad/],
use: [
{
loader: 'babel-loader'
}
],
}
Y tuve que usar un cargador babel anterior con webpack 2
package.json:
"devDependencies": {
....
"babel-core": "^ 5.4.7",
"babel-loader": "^ 5.1.3"
}
Comentario más útil
@ kevinchung1026 Ayer tuve el mismo problema. Hice un walkover y lo arreglé agregando la regla adicional a mi paquete web.
Espero que también te ayude 😄