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 相关文章推荐
JavaScript 节点操作 以及DOMDocument属性和方法
Dec 06 Javascript
javascript获取select的当前值示例代码(兼容IE/Firefox/Opera/Chrome)
Dec 17 Javascript
javascript日期格式化示例分享
Mar 05 Javascript
jQuery EasyUI 菜单与按钮之创建简单的菜单和链接按钮
Nov 18 Javascript
jQuery ajax应用总结
Jun 02 Javascript
浅析BootStrap Treeview的简单使用
Oct 12 Javascript
五步轻松实现zTree的使用
Nov 01 Javascript
vue.js指令v-for使用以及下标索引的获取
Jan 31 Javascript
深入理解使用Vue实现Context-Menu的思考与总结
Mar 09 Javascript
JavaScript面向对象程序设计中对象的定义和继承详解
Jul 29 Javascript
封装微信小程序http拦截器过程解析
Aug 13 Javascript
解决echarts中横坐标值显示不全(自动隐藏)问题
Jul 20 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 中的一些经验积累
2006/10/09 PHP
javascript Object与Function使用
2010/01/11 Javascript
jQuery实现id模糊查询的小例子
2013/03/19 Javascript
用客户端js实现带省略号的分页
2013/04/27 Javascript
2014年50个程序员最适用的免费JQuery插件
2014/12/15 Javascript
JavaScript异步加载浅析
2014/12/28 Javascript
JavaScript Math.floor方法(对数值向下取整)
2015/01/09 Javascript
Juery解决tablesorter中文排序和字符范围的方法
2015/05/06 Javascript
浅谈jQuery页面的滚动位置scrollTop、scrollLeft
2015/05/19 Javascript
javascript求日期差的方法
2016/03/02 Javascript
详解BootStrap中Affix控件的使用及保持布局的美观的方法
2016/07/08 Javascript
JS实现将Asp.Net的DateTime Json类型转换为标准时间的方法
2016/08/02 Javascript
简单实现jQuery上传图片显示预览功能
2020/06/29 jQuery
vue+axios+element ui 实现全局loading加载示例
2018/09/11 Javascript
Intellij IDEA搭建vue-cli项目的方法步骤
2018/10/20 Javascript
小程序实现列表多个批量倒计时
2021/01/29 Javascript
解决包含在label标签下的checkbox在ie8及以下版本点击事件无效果兼容的问题
2019/10/27 Javascript
深入理解Python中的内置常量
2017/05/20 Python
Python文件操作之合并文本文件内容示例代码
2017/09/19 Python
Python3爬取英雄联盟英雄皮肤大图实例代码
2018/11/14 Python
用python3 返回鼠标位置的实现方法(带界面)
2019/07/05 Python
基于python全局设置id 自动化测试元素定位过程解析
2019/09/04 Python
python多线程使用方法实例详解
2019/12/30 Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
2020/03/25 Python
python re模块常见用法例举
2021/03/01 Python
Laura Geller官网:美国彩妆品牌
2018/12/29 全球购物
Feelunique德国官方网站:欧洲最大的在线美容零售商
2019/07/20 全球购物
泰国在线书店:SE-ED
2020/06/21 全球购物
什么叫应用程序域?什么是受管制的代码?什么是强类型系统?什么是装箱和拆箱?
2016/08/13 面试题
Ajax和javascript的区别
2013/07/20 面试题
批评与自我批评范文
2014/10/15 职场文书
2014年采购部工作总结
2014/11/20 职场文书
幼儿园大班开学寄语(2016秋季)
2015/12/03 职场文书
python使用pygame创建精灵Sprite
2021/04/06 Python
vscode中使用npm安装babel的方法
2021/08/02 Javascript
Java spring单点登录系统
2021/09/04 Java/Android