实际解决iview打包时UglifyJs报错(详细教程)

下面我就为大家分享一篇解决iview打包时uglifyjs报错的问题,具有很好的参考价值,希望对大家有所帮助。

使用npm run dev时运行是ok的,但是npm run build打包时iview报错,

如下:

实际解决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/minifynew webpack.optimize.UglifyJsPlugin({compress: {warnings: false},sourceMap: config.build.productionSourceMap,parallel: true}),

登录后复制

已经提示了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语法经过babel来转换,然后在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 falseoutput: {comments: false,beautify: false,// debug true},compress: {// 在UglifyJs删除没有用到的代码时不输出警告warnings: false,// 删除所有的 `console` 语句// 还可以兼容ie浏览器drop_console: true,// 内嵌定义了但是只用到一次的变量collapse_vars: true,// 提取出出现多次但是没有定义成变量去引用的静态值reduce_vars: true,}}}),

登录后复制

当然我们要先引入外部插件:

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

登录后复制

上面是我整理给大家的,希望今后会对大家有帮助。

相关文章:

浅谈webpack打包之后的文件过大的解决方法

Vue+ElementUI实现表单动态渲染、可视化配置的方法

angularjs使用gulp-uglify压缩后执行报错的解决方法

以上就是实际解决iview打包时UglifyJs报错(详细教程)的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2752581.html

(0)
上一篇 2025年3月8日 06:25:07
下一篇 2025年3月3日 11:37:10

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论