タイトルとしての問題、
Vueバージョン:2.5.15
Webpackバージョン:3.11.0
npmがbuild:sandboxを実行
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.
ES5コードのみを処理する古いバージョンのUglifyJSを使用しているようです。 signature_pad.m.js
コードは、ES6 +機能を使用しています。 したがって、ご使用のバージョンのUglifyJSを使用して縮小する場合は、最初にBabelなどを使用してES5にコンパイルする必要があります。 すでにES5にコンパイルされているsignature_pad.umd.js
使用することもできます。
@ kevinchung1026昨日同じ問題が発生しました。 ウォークオーバーを作成し、Webpackにルールを追加して修正しました。
{
test: /\.js?$/,
include: [/node_modules\/signature_pad/],
use: [
{
loader: 'babel-loader',
options: {
cacheDirectory: true,
presets: [['env', { 'modules': false, 'targets': { 'node': 4 } }]]
}
}
],
},
それがあなたにも役立つことを願っています😄
今は大丈夫です、thx all
https://github.com/rollup/rollup/wiki/pkg.moduleによると、 package.jsonファイルのmodule
フィールドで指定されているものはすべて、ES2015モジュール構文のみを使用する必要がありますが、残りのコードはパッケージに最低限必要なバージョンのJS環境の構文に従います。
(デフォルトでは好むので、現在はWebPACKので箱から出して、このモジュールを使用することはできませんmodule
にmain
)https://webpack.js.org/configuration/resolve/を参照してください( #resolve-mainfields)は、他のモジュールと同じでした。 したがって、この特定のモジュールをnode_modulesディレクトリからプロジェクトのターゲットにトランスパイルするようにbabelに強制するには、(上記で指摘したように)構築システムにこれらのカスタム調整を行う必要があります。
browser
フィールドをpackage.jsonに追加すると、簡単な回避策になると思います。
こんにちは!
私はAngular2と古いバージョンのUglifyJSを使用していますが、uglifyJS + signature_padでも同じエラーが発生しました。
上記の回答を参考にして、新しいwebpackルールを追加して問題を解決しました
{
test: /\.js?$/,
include: [/node_modules\/signature_pad/],
use: [
{
loader: 'babel-loader'
}
],
}
そして私はwebpack2で古いbabelローダーを使わなければなりませんでした
package.json:
"devDependencies":{
...。
"babel-core": "^ 5.4.7"、
"babel-loader": "^ 5.1.3"
}
最も参考になるコメント
@ kevinchung1026昨日同じ問題が発生しました。 ウォークオーバーを作成し、Webpackにルールを追加して修正しました。
それがあなたにも役立つことを願っています😄