解決iview打包時UglifyJs報錯的問題

使用npm run dev時運行是ok的,但是npm run build打包時iview報錯,

創(chuàng)新互聯(lián)網(wǎng)站建設公司是一家服務多年做網(wǎng)站建設策劃設計制作的公司,為廣大用戶提供了成都網(wǎng)站制作、成都做網(wǎng)站,成都網(wǎng)站設計,一元廣告,成都做網(wǎng)站選創(chuàng)新互聯(lián),貼合企業(yè)需求,高性價比,滿足客戶不同層次的需求一站式服務歡迎致電。

如下:

解決iview打包時UglifyJs報錯的問題

原因是iview中使用了es6語法,然而uglifyJs是不支持的,打開我們的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編譯的時候添加如下:

{
test: /\.js$/,
loader: 'babel-loader',
include: [resolve('src'),
resolve('test'),resolve('/node_modules/iview/src'),resolve('/node_modules/iview/packages')]
},

先讓iview的es6語法經(jīng)過babel來轉(zhuǎn)換,然后在build/webpack.prod.conf.js中,注釋掉原來的uglifyJs,引入外部的uglifyJs對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
// }),
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刪除沒有用到的代碼時不輸出警告
warnings: false,
// 刪除所有的 `console` 語句
// 還可以兼容ie瀏覽器
drop_console: 
true,
// 內(nèi)嵌定義了但是只用到一次的變量
collapse_vars: 
true,
// 提取出出現(xiàn)多次但是沒有定義成變量去引用的靜態(tài)值
reduce_vars: 
true,
}
}
}),

當然我們要先引入外部插件:

const UglifyJsPlugin =
require('uglifyjs-webpack-plugin');

如此便可解決。

以上這篇解決iview打包時UglifyJs報錯的問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持創(chuàng)新互聯(lián)。

網(wǎng)頁題目:解決iview打包時UglifyJs報錯的問題
網(wǎng)站鏈接:http://muchs.cn/article16/ihsdgg.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站維護、微信公眾號網(wǎng)頁設計公司、企業(yè)建站、網(wǎng)站收錄、網(wǎng)站導航

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司