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.
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"
}
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.
J'espère que ça t'aidera aussi