Signature_pad: error de compilación con Vue + webpack

Creado en 22 ago. 2018  ·  5Comentarios  ·  Fuente: szimek/signature_pad

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.

Comentario más útil

@ 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 😄

Todos 5 comentarios

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"
}

¿Fue útil esta página
0 / 5 - 0 calificaciones

Temas relacionados

khawye picture khawye  ·  4Comentarios

davidosuna1987 picture davidosuna1987  ·  11Comentarios

MarcGodard picture MarcGodard  ·  8Comentarios

siggifv picture siggifv  ·  3Comentarios

jsruok picture jsruok  ·  11Comentarios