vue或react项目生产环境去掉console.log的操作


Posted in Javascript onSeptember 02, 2020

在开发环境写了很多console.log/info/debug,在生产环境需要去掉这些console。

如果手动删除未免也太累了,再说以后想再开发还得重新写console。

事实上webpack提供了删除console的插件,在vue-cli3里面是这样用的:

首先安装terser-webpack-plugin

npm install terser-webpack-plugin -D

然后在vue.config.js文件里写插件的配置:

module.exports = {
 configureWebpack: (config)=>{
 if(process.env.NODE_ENV === 'production'){
  config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true
 }
 }
}

2020.1.14补充:

上面的写法是直接修改webpack的配置,vue官方文档里说也可以返回一个将会被合并的对象,写法如下:

const TerserPlugin = require('terser-webpack-plugin')
module.exports = {
 configureWebpack: (config)=>{
 if(process.env.NODE_ENV === 'production'){
  // 返回一个将会被合并的对象
  return {
  optimization:{
  minimizer: [
 new TerserPlugin({
 sourceMap:false,
 terserOptions:{
  compress:{
  drop_console : true
  }
 }
 })
   ]
 }
 }
 }
 }
}

2020.4.22补充:

最近在做react项目的时候发现它的webpack的配置,也可以使用terser去掉console.log。

webpack.config.prod.js:

module.exports = {
 optimization:{
 minimizer: [
 new TerserPlugin({
  sourceMap:false,
 terserOptions:{
 compress:{
  drop_console : true
 }
 }
 })
 ]
 }
}

补充知识:vue中遇到数据更新但是页面没有更新的情况

今天在项目中遇到了一个需求,点击改变数据,之后在页面上立即看到更改后的数据。

vue或react项目生产环境去掉console.log的操作

首先,如上图的黄色按钮是通过v-for 循环产生的,data()里只有数据cards:[ … ],cards的值是通过调用后台接口拿到的。

data(){
 return {
 cards:[]
 }
}
<div v-for="card in cards" :key="card.id">
 <img src="xxx" />
 <div v-if="card.isShow" @click="cacelHandler(card)">
 <img src="xxxx" />
 </div>
</div>

这个头像下方的黄色按钮,是根据card.isShow的truthy 决定显示或不显示。

当我点击按钮的时候,把card.isShow 的值变为 false。

可是页面上的黄色按钮还在,并没有如我期望的那样消失。

通过查询资料得知,使用this.$forceUpdate()可以重新渲染组件,这样就可以得到想要的效果。

cacelHandler(card){
 card.isShow = false;
 this.$forceUpdate();
}

vue官方对$forceUpdate的解释是:

$forceUpdate可以迫使 Vue 实例重新渲染。它仅仅影响实例本身和插入插槽内容的子组件,而不是所有子组件。

以上这篇vue或react项目生产环境去掉console.log的操作就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
基于jquery实现拆分姓名的方法(纯JS版)
May 08 Javascript
Javascript原型链和原型的一个误区
Oct 22 Javascript
JQuery异步加载PartialView的方法
Jun 07 Javascript
Javascript之图片的延迟加载的实例详解
Jul 24 Javascript
BootStrap自定义popover,点击区域隐藏功能的实现
Jan 23 Javascript
使用vue2实现购物车和地址选配功能
Mar 29 Javascript
Vue.js 图标选择组件实践详解
Dec 03 Javascript
原生js实现移动端Touch轮播图的方法步骤
Jan 03 Javascript
javascript面向对象三大特征之多态实例详解
Jul 24 Javascript
LayUI数据接口返回实体封装的例子
Sep 12 Javascript
Vue+Element-U实现分页显示效果
Nov 15 Javascript
vue3.0 数字翻牌组件的使用方法详解
Apr 20 Vue.js
JS继承实现方法及优缺点详解
Sep 02 #Javascript
vue-cli3访问public文件夹静态资源报错的解决方式
Sep 02 #Javascript
vue打包静态资源后显示空白及static文件路径报错的解决
Sep 02 #Javascript
关于vue-cli3打包代码后白屏的解决方案
Sep 02 #Javascript
JavaScript事件循环及宏任务微任务原理解析
Sep 02 #Javascript
vue cli 3.0通用打包配置代码,不分一二级目录
Sep 02 #Javascript
Vue-cli打包后如何本地查看的操作
Sep 02 #Javascript
You might like
提问的智慧
2006/10/09 PHP
PHP网页游戏学习之Xnova(ogame)源码解读(一)
2014/06/23 PHP
php获取网页里所有图片并存入数组的方法
2015/04/06 PHP
关于php几种字符串连接的效率比较(详解)
2017/02/22 PHP
Laravel中9个不经常用的小技巧汇总
2019/04/16 PHP
从URL中提取参数与将对象转换为URL查询参数的实现代码
2012/01/12 Javascript
JavaScript的Module模式编程深入分析
2013/08/13 Javascript
JQuery Highcharts 动态生成图表的方法
2013/11/15 Javascript
js函数调用的方式
2014/05/06 Javascript
ActiveX控件与Javascript之间的交互示例
2014/06/04 Javascript
javascript表单验证和Window详解
2014/12/11 Javascript
jQuery中:contains选择器用法实例
2014/12/30 Javascript
JavaScript的类型、值和变量小结
2015/07/09 Javascript
原JS实现banner图的常用功能
2017/06/12 Javascript
vuex如何重置所有state(可定制)
2019/01/17 Javascript
Vue基于iview table展示图片实现点击放大
2020/08/05 Javascript
vue axios请求成功却进入catch的原因分析
2020/09/08 Javascript
vue中封装axios并实现api接口的统一管理
2020/12/25 Vue.js
[02:19]DOTA2女子战队FOX视频专访:希望更多美眉一起加入
2013/10/15 DOTA
Python中线程的MQ消息队列实现以及消息队列的优点解析
2016/06/29 Python
python爬虫实战之最简单的网页爬虫教程
2017/08/13 Python
解决使用pycharm提交代码时冲突之后文件丢失找回的方法
2018/08/05 Python
利用Python模拟登录pastebin.com的实现方法
2019/07/12 Python
python drf各类组件的用法和作用
2021/01/12 Python
SpringBoot首页设置解析(推荐)
2021/02/11 Python
科沃斯机器人官网商城:Ecovacs
2016/08/29 全球购物
乐天旅游台湾网站:Rakuten Travel TW
2017/06/01 全球购物
瑞典最大的儿童用品网上商店:pinkorblue.se
2021/03/09 全球购物
将一个文本文件的内容按倒序打印出来
2015/01/05 面试题
财务助理岗位职责
2013/11/10 职场文书
体育老师的教学自我评价分享
2013/11/19 职场文书
餐饮业经理竞聘演讲稿
2014/01/14 职场文书
军训考核自我鉴定
2014/02/13 职场文书
2014年图书馆工作总结
2014/11/25 职场文书
2014年精神文明工作总结
2014/12/23 职场文书
大学生十八大感想
2015/08/11 职场文书