Signature_pad: erreur de construction avec Vue+webpack

Créé le 22 août 2018  ·  5Commentaires  ·  Source: szimek/signature_pad

Problème comme titre,
Version vue : 2.5.15
Version du pack Web : 3.11.0
Lorsque npm exécute build:sandbox , erreur comme ci-dessous :

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.

Commentaire le plus utile

@kevinchung1026 Hier, j'ai eu le même problème. J'ai fait un walkover et l'ai corrigé en ajoutant la règle supplémentaire à mon webpack.

{
        test: /\.js?$/,
        include: [/node_modules\/signature_pad/],
        use: [
          {
            loader: 'babel-loader',
            options: {
              cacheDirectory: true,
              presets: [['env', { 'modules': false, 'targets': { 'node': 4 } }]]
            }
          }
        ],
      },

J'espère que ça t'aidera aussi

Tous les 5 commentaires

Il semble que vous utilisiez une ancienne version d'UglifyJS, qui ne gère que le code ES5. Le code dans signature_pad.m.js utilise les fonctionnalités ES6+. Ainsi, si vous souhaitez le réduire à l'aide de votre version d'UglifyJS, vous devez d'abord le compiler en ES5 en utilisant, par exemple, Babel. Vous pouvez également utiliser signature_pad.umd.js , qui est déjà compilé en ES5.

@kevinchung1026 Hier, j'ai eu le même problème. J'ai fait un walkover et l'ai corrigé en ajoutant la règle supplémentaire à mon webpack.

{
        test: /\.js?$/,
        include: [/node_modules\/signature_pad/],
        use: [
          {
            loader: 'babel-loader',
            options: {
              cacheDirectory: true,
              presets: [['env', { 'modules': false, 'targets': { 'node': 4 } }]]
            }
          }
        ],
      },

J'espère que ça t'aidera aussi

tout va bien maintenant, merci à tous

Selon https://github.com/rollup/rollup/wiki/pkg.module, tout ce qui est spécifié dans le champ module du fichier package.json doit utiliser uniquement la syntaxe du module ES2015, mais le reste du code devrait suivez la syntaxe de la version minimale requise du package de l'environnement JS.

Actuellement, il n'est pas possible d'utiliser ce module prêt à l'emploi avec webpack (car par défaut, il préfère module à main ) (voir https://webpack.js.org/configuration/resolve/ #resolve-mainfields) de la même manière que les autres modules. Ainsi, certains de ces ajustements personnalisés sont nécessaires au système de construction (comme indiqué ci-dessus) pour forcer babel à transpiler ce module particulier du répertoire node_modules vers les cibles du projet.

Je suppose que l'ajout du champ browser dans package.json pourrait être une solution de contournement rapide.

Salut!

J'utilise angular 2 et l'ancienne version d'UglifyJS et j'ai eu la même ERREUR avec uglifyJS + signature_pad.

J'ai résolu le problème à l'aide des réponses ci-dessus, en ajoutant une nouvelle règle webpack

{ test: /\.js?$/, include: [/node_modules\/signature_pad/], use: [ { loader: 'babel-loader' } ], }

ET j'ai dû utiliser un ancien chargeur babel avec webpack 2
package.json :

"devDependencies": {
....
"babel-core": "^5.4.7",
"babel-loader": "^5.1.3"
}

Cette page vous a été utile?
0 / 5 - 0 notes

Questions connexes

derUli picture derUli  ·  3Commentaires

hostcia picture hostcia  ·  6Commentaires

rmmackay picture rmmackay  ·  7Commentaires

50l3r picture 50l3r  ·  3Commentaires

crazzeto picture crazzeto  ·  8Commentaires