Signature_pad: Vue + webpackでビルドエラー

作成日 2018年08月22日  ·  5コメント  ·  ソース: szimek/signature_pad

タイトルとしての問題、
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.

最も参考になるコメント

@ kevinchung1026昨日同じ問題が発生しました。 ウォークオーバーを作成し、Webpackにルールを追加して修正しました。

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

それがあなたにも役立つことを願っています😄

全てのコメント5件

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ので箱から出して、このモジュールを使用することはできませんmodulemain )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"
}

このページは役に立ちましたか?
0 / 5 - 0 評価