npm run buildエラー解決策について

2041 ワード

#特定のエラー
ERROR in statics/mobile/js/vendor.cef13a0e680a5bc0d8b3.js from UglifyJsUnexpected token: punc (() [D:/Users/Administrator/Desktop/WTFpolice/newPolice/~/mint-ui/src/utils/clickoutside.js:12,0][statics/mobile/js/vendor.cef13a0e680a5bc0d8b3.js:43784,6]
stackoverflowを経ていくつかの問題を発見しました
1.babelが設定されていません
2.UglifyJsプラグインはes 6をサポートしていません
私はこれらの答えについて試して、最後に次のような案を出しました.
問題1の解決
babelを構成していない場合も可能ですchromeの下でbabelを開発してインストールしなくてもスムーズに走ることができますchromeはes 6に対するサポートが良いので
 #  babel  
npm install babel-loader babel-core babel-preset-env babel-preset-stage-2 -D

以上、babelのコンバータ、コアライブラリ、前処理、前処理のes 6バージョンの順です.
ルートディレクトリに作成する必要があります.babelrcのファイル構成は以下の通りです.
{
 "presets": [
    ["env",
      {
      "modules": false,
      "targets": {
        "browsers": ["> 1%", "last 2 versions", "not ie <= 8"]
      }
    }],
    "stage-2"
  ],
}

しかし、多くの場合、私たちは構成されています.では、問題2を見てみましょう.
UglifyJsプラグインでは処理がサポートされていませんes 6公式サイトにはes 6をサポートするバージョンがありますが、私たちはes 6を圧縮するためではありません.
Webpackを変更します.base.conf構成
function resolve (dir) {
  return path.join(__dirname, '..', dir)
}

#  
{
        test: /\.js$/,
        loader: 'babel-loader',
        include: [resolve('src'), resolve('test')]
  }
#  
{
        test: /\.js$/,
        loader: 'babel-loader',
        include: [resolve('src'), resolve('test'),resolve('node_modules/mint-ui/scr/utils')]
}

UglifyJsプラグインの更新を選択すると、babel-polyfillをインストールすることができます.babel-polyfillはES 6の使用環境をシミュレートすることができ、ES 6のすべての新しい方法を使用することができます.
#  
npm install -save babel-polyfill
#  webpack.config.js 
#  
module.exports = {
  entry: {
    app: "./src/main.js"
  }
};

#  
module.exports = {
  entry: {
    app: ["babel-polyfill", "./src/main.js"]
  }
};

  
転載先:https://www.cnblogs.com/coolslider/p/7359454.html