腳手架編譯配置在另外一個項目裏用的時候,報了這個錯,解決的時候走了些彎路,記錄一下。node
{ test: /\.js$/, loader: 'babel-loader', //exclude: /node_modules/, //註釋後,會先進行es5轉換,而後打包壓縮 }
這樣改是有她的道理的,由於:UglifyJsPlugin不能壓縮es6代碼,項目中可能引用了某些es6的npm包。webpack
可是:極可能會引發一個新的錯誤 !!!git
TypeError: $export is not a function
這個錯誤怎麼解呢,若是去找解決方案,會找到這樣的答案es6
{ test: /\.js$/, loader: 'babel-loader', exclude: /node_modules/, // 須要加上這一行 }
哈哈哈,驚不驚喜,意不意外。。。github
uglifyjs-webpack-plugin 使用的 uglify-es 已經再也不維護,取而代之的是一個名爲 terser 的分支。因此 webpack 官方放棄了使用 uglifyjs-webpack-plugin,建議使用 terser-webpack-plugin。web
地址:https://github.com/webpack-contrib/terser-webpack-pluginnpm
跟着文檔說明 替換就好了 很簡單。babel
搗鼓腳手架之類的東西時,很容易遇到各類五花八門的報錯。
正確的解決動做應該是去 github 的 issue 下去搜,省時間。es5