目前负责的公众号又迭代了一个版本,之前打生产包,配置总是和测试包搞混,所以使用了vue-cli3.0的环境变量来控制配置。

但是又发现了一个新问题,写代码的过程中写了很多console.log 来调试代码,但是生产包里显示这些调试信息又有些不合适,所以想在打生产包的时候去除代码中的console.log.

网络上一顿搜索之后,使用了uglifyjs-webpack-plugin来进行压缩优化,但是遇到了Unexpected token: name ***的报错,又是一番查询之后,有说这个插件不支持es6之后的语法,但是vue-cli3.0使用的是babel-preset-env,默认的配置就包含了babel-preset-es2015。又有说问题出在Swiper4插件,说退回Swipwe3就能解决问题,但是现在Swiper4插件用到的一些API,Swiper3根本就没有,改起来太麻烦了。

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

if (process.env.VUE_CLI_TEST) {webpackConfig.optimization.minimize(false)
} else {const TerserPlugin = require('terser-webpack-plugin')const terserOptions = require('./terserOptions')webpackConfig.optimization.minimizer([new TerserPlugin(terserOptions(options))])
}

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

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

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

这几个属性就可以了。

转载于:https://www.cnblogs.com/KlllB/p/10682262.html

vue-cli3.0 生产包去除console.log相关推荐

  1. Vue CLI3.0 中使用jQuery 和 Bootstrap

    Vue 中使用 jQuery 和 Bootstrap 不是特别符合 Vue 原生的写法,但是有时候又要用,所以放上我的引入设置,供大家参考. 在 Vue CLI2.0 中引入 jQuery 和 Boo ...

  2. 01-路由跳转 安装less this.$router.replace(path) 解决vue/cli3.0语法报错问题

    01-路由跳转 安装less this.$router.replace(path) 解决vue/cli3.0语法报错问题 参考文章: (1)01-路由跳转 安装less this.$router.re ...

  3. 可视化构建工具探索之Vue Cli3.0 阿里飞冰

    Vue Cli3.0可视化构建工具--Vue UI 一.安装环境 安装了最新的Vue CLI.打开Terminal,输入: npm install -g @vue/cli or yarn global ...

  4. vue cli3.0打包上线不同环境

    vue cli3.0打包上线不同环境 1. cli3.0支持".env"文件配置,在项目的根目录下配置".env"文件,根据不同的环境命名不同的文件名称,如: ...

  5. vue cli3.0 引入eslint 结合vscode使用

    ESLint 它的目标是提供一个插件化的javascript代码检测工具. 官网地址 最近一个项目里,最开始使用cli3.0搭建的时候没有默认选用eslint,导致现在有的人使用其他编辑器,就会出现格 ...

  6. 微信小程序去除console.log()

    wx.getSystemInfo({success: (result) => {console.log(result);if (result.platform!=="devtools& ...

  7. vue cli3.0创项目报错‘This may cause things to work incorrectly. Make sure to use the same version for b’

    错误: throw new Error(^Error:Vue packages version mismatch:- vue@2.6.12 (C:\Users\Administrator\AppDat ...

  8. vue cli3.0 修改配置文件

    问题:资源找不到 新版的vue-cli构建出来的项目目录没有build和config文件夹,需要改输入路径的地址,需要在项目的 根目录添加一个Vue.config.js. 修改资源目录 module. ...

  9. Vue cli3.0创建Vue项目

    创建Vue项目 在要创建项目的文件夹下面打开Powershell窗口 输入命令 vue create 项目名称 选择第二项 回车后 选择是否使用历史路由 no 回车 选择 Less 回车 选择第三个 ...

最新文章

  1. Hadoop API文档地址
  2. mysql setinc_数据库自增自减——setInc、setDec
  3. 【云快讯】之五十五《IBM推出Data Warehouse数据仓库云服务》
  4. mngoDB 常用语法
  5. java+串行和并行的区别_Java8新特性_并行流与串行流
  6. 如何将类添加到给定的元素?
  7. linux升级内核5.10 网卡无法启动,博通网卡在Linux 5.10内核下无法搜索到无线网络的解决...
  8. Kali2019解决无法定位软件包
  9. 标书制作,全流程视频教程大全
  10. 霍夫斯特拉大学计算机科学专业排名,美国霍夫斯特拉大学的最新排名
  11. python3实例(一)平方根
  12. 二叉树的基本性质和特殊的二叉树、B树
  13. c#如何wmf图片转换成png图片_【C#】使用fo-dicom完成BMP,JPG,PNG图片转换为DICOM文件-阿里云开发者社区...
  14. 大学英语四级电子照片修改过程。
  15. 数学术语的英汉对照(权威,全面)
  16. 使用js 计算两个日期之间的相差的天数
  17. 81章 老子1章到_老子1章2章80章81章
  18. 想要专升本你不得不看的全干货_吐血整理_专升本_计算机文化基础(一)
  19. 印刷电路板(PCB)的制作工艺流程
  20. 小黑抱紧沛奇老师课程的大腿,继续学习git的日常积累:沛奇老师git笔记(git命令与分支)

热门文章

  1. 继中美之后,欧盟会成为下一个 AI 超级体吗?
  2. 面试大法——算法、Python、机器学习等笔试面经资源|干货收藏
  3. 华为推CPU Turbo,荣耀Note10突破3000档
  4. 书单 | 计算机视觉的修炼秘笈
  5. 阿里成立达摩院,引入10位顶尖科学家3年投入预计超1000亿,马云提出4条期待(附:学术咨询委员会成员名单)
  6. 分布式ID(唯一性)的生成方法汇总
  7. 阿里面试: 说说强引用、软引用、弱引用、虚引用吧
  8. 利用WxJava实现PC网站集成微信登录功能,核心代码竟然不超过10行
  9. 工作10年后,再看String s = new String(xyz) 创建了几个对象?
  10. 我们已经不用AOP做操作日志了!