Vue Cli3 打包配置并自动忽略console.log语句的方法


Posted in Javascript onApril 23, 2020

下载插件

npm i -D uglifyjs-webpack-plugin

在 vue.config.js 引入使用

const UglifyJsPlugin = require('uglifyjs-webpack-plugin')
module.exports = {
 configureWebpack: {
  plugins: [
   new UglifyJsPlugin({
    uglifyOptions: {
     compress: {
      drop_console: true,
     },
    },
   }),
  ],
 },
 devServer: {
  proxy: {
   '/xxx': {
    target: 'http://192.168.150.17:8080/',
    changeOrigin: true,
    ws: true,
    pathRewrite: {
     '^/xxx': 'xxx',
    },
   },
  },
 },
 publicPath: './',
}

这时执行 npm run build 打包后的文件就没有 console.log 语句了。

不过这时会有一个问题,就是在开发环境的时候编译会非常慢。例如修改了一个变量的值,我的电脑要编译 10 秒才能重新刷出来页面,一直卡在 92% chunk asset optimization

由于去掉 console.log 语句这个功能只有在打包时才需要,所以我们可以加一个判断,只在生产环境时才把上述配置代码加上。

所以正确的配置如下:

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

const config = {
 devServer: {
  proxy: {
   '/xxx': {
    target: 'http://192.168.150.17:8080/',
    changeOrigin: true,
    ws: true,
    pathRewrite: {
     '^/xxx': 'xxx',
    },
   },
  },
 },
 publicPath: './',
}

if (process.env.NODE_ENV === 'production') {
 config.configureWebpack = {
  plugins: [
   new UglifyJsPlugin({
    uglifyOptions: {
     compress: {
      drop_console: true,
     },
    },
   }),
  ],
 }
}

module.exports = config

vue-cli3.0 生产包去除console.log

不安装插件去除console.log的方法

vue-cli3.0在打包过程中就使用了terser-webpack-plugin插件进行优化,具体配置可以node_modules/@vue/cli-service/lib/config/prod.js中看到。

这里使用了环境变量进行控制,只有打生产包的时候才会调用这个插件进行打包优化。

terser-webpack-plugin的具体配置在同一个文件夹下terserOptions.js中,只要在这个文件中compress对象中加入以下几个属性就可以了

warnings: false,
drop_console: true,
drop_debugger: true,
pure_funcs: ['console.log']

到此这篇关于Vue Cli3 打包配置并自动忽略console.log语句的方法的文章就介绍到这了,更多相关Vue Cli3打包并忽略console.log内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Javascript 相关文章推荐
IE8 下的Js错误HTML Parsing Error...
Aug 14 Javascript
分享十五个最佳jQuery 幻灯插件和教程
Mar 27 Javascript
JavaScript事件委托实例分析
May 26 Javascript
jQuery实现页面评论栏中访客信息自动填写功能的方法
May 23 Javascript
Bootstrap学习笔记之环境配置(1)
Dec 07 Javascript
简单实现js浮动框
Dec 13 Javascript
vue实现表格增删改查效果的实例代码
Jul 18 Javascript
Vue框架中正确引入JS库的方法介绍
Jul 30 Javascript
在vue中给列表中的奇数行添加class的实现方法
Sep 05 Javascript
jQuery创建折叠式菜单
Jun 15 jQuery
Vue时间轴 vue-light-timeline的用法说明
Oct 29 Javascript
javascript对象3个属性特征
Nov 17 Javascript
vue项目打包之开发环境和部署环境的实现
Apr 23 #Javascript
javascript设计模式 ? 模板方法模式原理与用法实例分析
Apr 23 #Javascript
谈谈我在vue-cli3中用预渲染遇到的坑
Apr 22 #Javascript
如何修改Vue打包后文件的接口地址配置的方法
Apr 22 #Javascript
nuxt+axios实现打包后动态修改请求地址的方法
Apr 22 #Javascript
JS脚本实现定时到网站上签到/签退功能
Apr 22 #Javascript
微信小程序实现手指拖动选项排序
Apr 22 #Javascript
You might like
PHP HTML代码串 截取实现代码
2009/06/29 PHP
在项目中寻找代码的坏命名
2012/07/14 PHP
关于Zend Studio 配色方案插件的介绍
2013/06/24 PHP
php防止sql注入代码实例
2013/12/18 PHP
PHP基于自定义类随机生成姓名的方法示例
2017/08/05 PHP
laravel框架中视图的基本使用方法分析
2019/11/23 PHP
基于JQuery的Pager分页器实现代码
2010/07/17 Javascript
ExtJS自定义主题(theme)样式详解
2013/11/18 Javascript
让html页面不缓存js的实现方法
2014/10/31 Javascript
js实现鼠标划过给div加透明度的方法
2015/05/25 Javascript
简述JavaScript提交表单的方式 (Using JavaScript Submit Form)
2016/03/18 Javascript
JavaScript中的Array 对象(数组对象)
2016/06/02 Javascript
jQuery学习心得总结(必看篇)
2016/06/10 Javascript
灵活使用数组制作图片切换js实现
2016/07/28 Javascript
基于MVC5和Bootstrap的jQuery TreeView树形控件(一)之数据支持json字符串、list集合
2016/08/11 Javascript
AngularJs 指令详解及示例代码
2016/09/01 Javascript
AngularJS使用angular.bootstrap完成模块手动加载的方法分析
2017/01/19 Javascript
jQuery插件HighCharts实现的2D回归直线散点效果示例【附demo源码下载】
2017/03/09 Javascript
js上传图片预览的实现方法
2017/05/09 Javascript
bootstrap的工具提示实例代码
2017/05/17 Javascript
微信小程序开发之tabbar图标和颜色的实现
2018/10/17 Javascript
每周一练 之 数据结构与算法(Stack)
2019/04/16 Javascript
书单|人生苦短,你还不用python!
2017/12/29 Python
python自动保存百度盘资源到百度盘中的实例代码
2019/08/26 Python
简单了解python协程的相关知识
2019/08/31 Python
python多线程和多进程关系详解
2020/12/14 Python
Python实现Word文档转换Markdown的示例
2020/12/22 Python
matplotlib之pyplot模块坐标轴标签设置使用(xlabel()、ylabel())
2021/02/22 Python
7款设计巧妙的css3飘带状3D立体效果的导航菜单和表单窗口
2013/02/04 HTML / CSS
英国、欧洲和全球租车服务:Avis英国
2016/08/29 全球购物
香蕉共和国工厂店:Banana Republic Factory
2018/06/09 全球购物
受伤赔偿协议书
2014/09/24 职场文书
护士个人总结范文
2015/02/13 职场文书
Java 超详细讲解十大排序算法面试无忧
2022/04/08 Java/Android
Nginx 安装SSL证书完成HTTPS部署
2022/04/28 Servers
mysql数据库实现设置字段长度
2022/06/10 MySQL