解決iview打包時(shí)UglifyJs報(bào)錯(cuò)的問(wèn)題
使用npm run dev時(shí)運(yùn)行是ok的,但是npm run build打包時(shí)iview報(bào)錯(cuò),
如下:

原因是iview中使用了es6語(yǔ)法,然而uglifyJs是不支持的,打開(kāi)我們的build/webpack.prod.conf.js文件,可以看到
// UglifyJs do not support ES6+, you can also use babel-minify for better treeshaking: https://github.com/babel/minify
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
},
sourceMap: config.build.productionSourceMap,
parallel: true
}),
已經(jīng)提示了uglifyJs不支持es6.
解決方案:
在webpack.base.conf.js中,我們先在js編譯的時(shí)候添加如下:
{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src'),
resolve('test'),resolve('/node_modules/iview/src'),resolve('/node_modules/iview/packages')]
},
先讓iview的es6語(yǔ)法經(jīng)過(guò)babel來(lái)轉(zhuǎn)換,然后在build/webpack.prod.conf.js中,注釋掉原來(lái)的uglifyJs,引入外部的uglifyJs對(duì)js進(jìn)行壓縮混淆,代碼如下:
// UglifyJs do not support ES6+, you can also use babel-minify for better treeshaking: https://github.com/babel/minify
// new webpack.optimize.UglifyJsPlugin({
// compress: {
// warnings: false
// },
// sourceMap: config.build.productionSourceMap,
// parallel: true
// }),
new UglifyJsPlugin({
// 使用外部引入的新版本的js壓縮工具
parallel: true,
uglifyOptions: {
ie8: false,
ecma: 6,
warnings: false,
mangle: true,
// debug false
output: {
comments: false,
beautify: false,
// debug true
},
compress: {
// 在UglifyJs刪除沒(méi)有用到的代碼時(shí)不輸出警告
warnings: false,
// 刪除所有的 `console` 語(yǔ)句
// 還可以兼容ie瀏覽器
drop_console:
true,
// 內(nèi)嵌定義了但是只用到一次的變量
collapse_vars:
true,
// 提取出出現(xiàn)多次但是沒(méi)有定義成變量去引用的靜態(tài)值
reduce_vars:
true,
}
}
}),
當(dāng)然我們要先引入外部插件:
const UglifyJsPlugin =
require('uglifyjs-webpack-plugin');
如此便可解決。
以上這篇解決iview打包時(shí)UglifyJs報(bào)錯(cuò)的問(wèn)題就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
相關(guān)文章
VUE側(cè)邊導(dǎo)航欄實(shí)現(xiàn)篩選過(guò)濾的示例代碼
本文主要介紹了VUE側(cè)邊導(dǎo)航欄實(shí)現(xiàn)篩選過(guò)濾的示例代碼,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-05-05
Vue系列:通過(guò)vue-router如何傳遞參數(shù)示例
本篇文章主要介紹了Vue系列:通過(guò)vue-router如何傳遞參數(shù)示例,具有一定的參考價(jià)值,有興趣的可以了解一下。2017-01-01
如何隱藏element-ui中tree懶加載葉子節(jié)點(diǎn)checkbox(分頁(yè)懶加載效果)
這篇文章主要介紹了如何隱藏element-ui中tree懶加載葉子節(jié)點(diǎn)checkbox(分頁(yè)懶加載效果),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
手寫(xiě)vue無(wú)限滾動(dòng)指令的詳細(xì)過(guò)程
今天在移動(dòng)端項(xiàng)目中遇見(jiàn)一個(gè)需求,需要數(shù)據(jù)無(wú)限滾動(dòng),所以下面這篇文章主要給大家介紹了關(guān)于手寫(xiě)vue無(wú)限滾動(dòng)指令的詳細(xì)過(guò)程,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-09-09
intellij?idea+vue前端調(diào)試配置圖文教程
在Vue項(xiàng)目開(kāi)發(fā)過(guò)程中,當(dāng)遇到應(yīng)用邏輯出現(xiàn)錯(cuò)誤,但又無(wú)法準(zhǔn)確定位的時(shí)候,知曉Vue項(xiàng)目調(diào)試技巧至關(guān)重要,debug是必備技能,這篇文章主要給大家介紹了關(guān)于intellij?idea+vue前端調(diào)試配置的相關(guān)資料,需要的朋友可以參考下2024-09-09
詳解使用Vue.Js結(jié)合Jquery Ajax加載數(shù)據(jù)的兩種方式
本篇文章主要介紹了詳解使用Vue.Js結(jié)合Jquery Ajax加載數(shù)據(jù)的兩種方式,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-01-01

