_bundle.js
_ファイルを最小化/圧縮するためにUglifyJSを使用しようとしています。 _webpack -p
_を実行すると、次の結果が得られます。
_ERROR in bundle.js from UglifyJs Name expected [bundle.js:105519,6]
_
行105519は次のとおりです。
const {M, l, pattern} = __webpack_require__(862)
。
私はReact w/ES6を使用しています。何が間違っているのでしょうか?
Webpackのすべてのバージョンには、ES6をサポートしないUglifyJS(0.4.6)の組み込みバージョンがあります。このバージョンはES5構文のみをサポートします。
2つの解決策があります。
es5
ビルトインバージョンのuglifyjs-webpack-plugin
を使用せずに、 最新バージョン を使用してnpm install -D uglifyjs-webpack-plugin
をインストールしないでください。設定のplugins
プロパティに追加します:
const UglifyJSPlugin = require('uglifyjs-webpack-plugin')
module.exports = {
plugins: [
new UglifyJSPlugin()
]
}
このエラーは、 glifyjs-webpack-plugin が特定の依存関係をUglifyできない場合に発生します
だから、そのようなエラーを作成するライブラリを見つける方法は?
私はreactを使用していたので、アプリ内のすべてのフォームを削除し、1つのフォームのみを保持し、その中のすべての依存関係をインポートし、remove/addそれらの依存関係を1つずつ実行してコマンドを実行します
webpack -p
[〜#〜] so [〜#〜]私の場合は browser-history そのようなエラーを作成しました。今、この問題を報告できますいくつかの複製例を含むライブラリの作成者
間違いなく、uglifyjsのバージョンとコンパイルしようとしているjavascriptターゲットの問題です。これは、ウェブパックのセットアップとこれを引き起こすバベルのセットアップの2つである可能性があります。
webpack v3.5.5 の最新バージョンを使用している場合は、es6以上のターゲットをサポートしない glifyjs-webpack-plugin ^ 0.4.6 が付属しています。
現在のWebpack docs about glifyjsWebpackPlugin optionsを参照すると、 glify-js-webpack-plugin v1.0.0-beta。 2 。しかし、そのバージョンをインストールする方法については明確ではありません。
Webpackで使用するには
yarn add uglifyjs-webpack-plugin@beta --dev
Babelのセットアップについては言及していません。 babel-preset-env
プリセットとして。 glifyjsのオプション があります。
レポや要点を見るのは素晴らしいことです。