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 相关文章推荐
jQuery1.3.2 升级到jQuery1.4.4需要修改的地方
Jan 06 Javascript
jQuery EasyUI API 中文文档 - Calendar日历使用
Oct 19 Javascript
jquery mobile实现拨打电话功能的几种方法
Aug 05 Javascript
通过Jquery的Ajax方法读取将table转换为Json
May 31 Javascript
jquery插件orbit.js实现图片折叠轮换特效
Apr 14 Javascript
javascript拖拽效果延伸学习
Apr 04 Javascript
JavaScript直播评论发弹幕切图功能点集合效果代码
Jun 26 Javascript
一个简单不报错的summernote 图片上传案例
Jul 11 Javascript
webix+springmvc session超时跳转登录页面
Oct 30 Javascript
fullpage.js最后一屏滚动方式
Feb 06 Javascript
微信小程序模拟cookie的实现
Jun 20 Javascript
最简单的JS实现json转csv的方法
Jan 10 Javascript
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
require(),include(),require_once()和include_once()区别
2008/03/27 PHP
用PHP将网址字符串转换成超链接(网址或email)
2010/05/25 PHP
关于PHP 如何用 curl 读取 HTTP chunked 数据
2016/02/26 PHP
分享几种好用的PHP自定义加密函数(可逆/不可逆)
2020/09/15 PHP
jQuery移动和复制dom节点实用DOM操作案例
2012/12/17 Javascript
Jquery实现搜索框提示功能示例代码
2013/08/13 Javascript
jquery对table中各数据的增加、保存、删除操作示例
2014/05/14 Javascript
jquery+CSS实现的多级竖向展开树形TRee菜单效果
2015/08/24 Javascript
jQuery ajax中使用confirm,确认是否删除的简单实例
2016/06/17 Javascript
javascript设计模式之Adapter模式【适配器模式】实现方法示例
2017/01/13 Javascript
JS中的三个循环小结
2017/06/20 Javascript
vue2.0 自定义 饼状图 (Echarts)组件的方法
2018/03/02 Javascript
微信小程序MUI侧滑导航菜单示例(Popup弹出式,左侧不动,右侧滑动)
2019/01/23 Javascript
vue-video-player实现实时视频播放方式(监控设备-rtmp流)
2020/08/10 Javascript
JavaScript实现通讯录功能
2020/12/27 Javascript
Python中列表、字典、元组数据结构的简单学习笔记
2016/03/20 Python
Python正则表达式常用函数总结
2017/06/24 Python
15行Python代码带你轻松理解令牌桶算法
2018/03/21 Python
Pycharm在创建py文件时,自动添加文件头注释的实例
2018/05/07 Python
python判断数字是否是超级素数幂
2018/09/27 Python
Python清空文件并替换内容的实例
2018/10/22 Python
python判断字符串或者集合是否为空的实例
2019/01/23 Python
python挖矿算力测试程序详解
2019/07/03 Python
python3+opencv 使用灰度直方图来判断图片的亮暗操作
2020/06/02 Python
Django如何批量创建Model
2020/09/01 Python
python中numpy数组与list相互转换实例方法
2021/01/29 Python
目前不被任何主流浏览器支持的CSS3属性汇总
2014/07/21 HTML / CSS
股东合作协议书范本
2014/04/14 职场文书
教师考察材料范文
2014/06/03 职场文书
高三霸气励志标语
2014/06/24 职场文书
群众路线教育实践活动心得体会(四风)
2014/11/03 职场文书
2014年办公室工作总结范文
2014/11/12 职场文书
农民工工资保障承诺书
2015/05/04 职场文书
《用字母表示数》教学反思
2016/02/17 职场文书
浙江省杭州市平均工资标准是多少?
2019/07/09 职场文书
python中如何对多变量连续赋值
2021/06/03 Python