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 相关文章推荐
MooTools 1.2中的Drag.Move来实现拖放
Sep 15 Javascript
javascript拓展DOM操作 prependChild insertAfert
Nov 17 Javascript
jquery.cookie.js 操作cookie实现记住密码功能的实现代码
Apr 27 Javascript
javaScript 事件绑定、事件冒泡、事件捕获和事件执行顺序整理总结
Oct 10 Javascript
js实现加载页面就自动触发超链接的示例
Aug 31 Javascript
Vue实现数字输入框中分割手机号码的示例
Oct 10 Javascript
使用Vue.js和Flask来构建一个单页的App的示例
Mar 21 Javascript
JS实现的tab切换并显示相应内容模块功能示例
Aug 03 Javascript
微信小程序实现传递多个参数与事件处理
Aug 12 Javascript
Vue.js组件props数据验证实现详解
Oct 19 Javascript
解决await在forEach中不起作用的问题
Feb 25 Javascript
一文搞懂redux在react中的初步用法
Jun 09 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
第1次亲密接触PHP5(2)
2006/10/09 PHP
php中实现简单的ACL 完结篇
2011/09/07 PHP
PHP curl 获取响应的状态码的方法
2014/01/13 PHP
PHP 接入微信扫码支付总结(总结篇)
2016/11/03 PHP
PHP中仿制 ecshop验证码实例
2017/01/06 PHP
ThinkPHP实现转换数据库查询结果数据到对应类型的方法
2017/11/16 PHP
PHP实现websocket通信的方法示例
2018/08/28 PHP
CentOS7编译安装php7.1的教程详解
2019/04/18 PHP
javascript实现轮显新闻标题链接
2007/08/13 Javascript
javascript 数组排序函数
2009/08/20 Javascript
javascript题目,重写函数让其无限相加
2012/02/15 Javascript
js模拟滚动条(横向竖向)
2013/02/22 Javascript
JavaScript Math.ceil() 函数使用介绍
2013/12/11 Javascript
jQuery实现下拉菜单(内容为时间)的实时更新及图表的随动更新的方法
2016/07/07 Javascript
Bootstrap table的使用方法
2016/11/02 Javascript
BootstrapValidator超详细教程(推荐)
2016/12/07 Javascript
JS中的数组转变成JSON格式字符串的方法
2017/05/09 Javascript
详解vue.js2.0父组件点击触发子组件方法
2017/05/10 Javascript
浅谈vue的iview列表table render函数设置DOM属性值的方法
2017/09/30 Javascript
Node.js使用Koa搭建 基础项目
2018/01/08 Javascript
JavaScript事件对象event用法分析
2018/07/27 Javascript
解决vue.js 数据渲染成功仍报错的问题
2018/08/25 Javascript
vue项目动态设置页面title及是否缓存页面的问题
2018/11/08 Javascript
vue项目实现减少app.js和vender.js的体积操作
2020/11/12 Javascript
Python Web框架Flask中使用百度云存储BCS实例
2015/02/08 Python
python学生信息管理系统
2018/03/13 Python
详解python单元测试框架unittest
2018/07/02 Python
详解python和matlab的优势与区别
2019/06/28 Python
python+tkinter实现学生管理系统
2019/08/20 Python
python:批量统计xml中各类目标的数量案例
2020/03/10 Python
离线状态下在jupyter notebook中使用plotly实例
2020/04/24 Python
css3背景_动力节点Java学院整理
2017/07/11 HTML / CSS
IE8下CSS3选择器nth-child() 不兼容问题的解决方法
2016/11/16 HTML / CSS
使用phonegap操作数据库的实现方法
2017/03/31 HTML / CSS
晋江市人民政府党组群众路线教育实践活动整改方案
2014/10/25 职场文书
《日月潭》教学反思
2016/02/20 职场文书