webpackのbuildでUglifyjsのエラーが出るようになったけど解決

1個前の記事に書いた通り、なぜかwebpackのproductionのbuild時に以下のようなuglifyjsのエラーが出るようになった。

ERROR in application-5b7f00c90272225401da.js from UglifyJs
Unexpected token: punc (,) [webpack/bootstrap 0ce14300644a9e7a87e3:13,0][application-5b7f00c90272225401da.js:1,77]

何となくyarnでupgradeしたせいの気もするけど、正直この辺のbuildツールを詳しく調べる気が起きないので、一気に気分がブルーに。
とりあえず、以下の事をやってみて最終的に解決したけど、どれが効いたのか分かっていない。

・uglifyjsをバージョンアップ
・tsconfigのmoduleを「commonjs」から「es2015」変更
 →これはそもそもcommonjsを指定しているのが間違ってた気がする
・uglifyjs-webpack-pluginをyarnでaddしてenvironment.jsのpluginに以下のように追加

const UglifyJsPlugin = require('uglifyjs-webpack-plugin');
〜省略〜
plugins: [
    〜省略〜
    new UglifyJsPlugin()
]
〜省略〜

uglifyjs-webpack-pluginを追加した状態で「webpack -p」をやると、更に違うエラーが出るんだけど、これはそもそも「-p」が「shortcut for –optimize-minimize –define」らしく、uglifyを2重でかける事になるからだと

throwing an error if I disable source map in uglifyjs plugin

ここに書いてあった。感謝。

で、結局「-p」を取ったら上手く動くようになったんだけど、これまでは「-p」付きでも問題なく動いていたので、本当の原因は不明。

最初に書いた通り、buildツールで苦しむのは馬鹿みたいなのでこれで終わり。

コメント

タイトルとURLをコピーしました