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实现用户注册的表单验证示例
Aug 28 Javascript
jQuery固定元素插件scrolltofixed使用指南
Apr 21 Javascript
详解JavaScript正则表达式中的global属性的使用
Jun 16 Javascript
不定义JQuery插件 不要说会JQuery
Mar 07 Javascript
vue.js入门教程之绑定class和style样式
Sep 02 Javascript
js判断请求的url是否可访问,支持跨域判断的实现方法
Sep 17 Javascript
JS解决IOS中拍照图片预览旋转90度BUG的问题
Sep 13 Javascript
Vue.js分页组件实现:diVuePagination的使用详解
Jan 10 Javascript
vue中的自定义分页插件组件的示例
Aug 18 Javascript
浅谈Angular7 项目开发总结
Dec 19 Javascript
javascript canvas实现简易时钟例子
Sep 05 Javascript
JavaScript canvas实现跟随鼠标移动小球
Feb 09 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
239军机修复记
2021/03/02 无线电
咖啡机如何保养和日常清洁?
2021/03/03 冲泡冲煮
PHP提取中文首字母
2008/04/09 PHP
获取URL文件名后缀
2013/10/24 PHP
PHP中实现生成静态文件的方法缓解服务器压力
2014/01/07 PHP
php限制ip地址范围的方法
2015/03/31 PHP
laravel5创建service provider和facade的方法详解
2016/07/26 PHP
php 输出缓冲 Output Control用法实例详解
2020/03/03 PHP
php判断某个方法是否存在函数function_exists (),method_exists()与is_callable()区别与用法解析
2020/04/20 PHP
PHP实现抽奖功能实例代码
2020/06/30 PHP
50款非常棒的 jQuery 插件分享
2012/03/29 Javascript
JavaScript Math.ceil 方法(对数值向上取整)
2015/01/09 Javascript
jfinal与bootstrap的登录跳转实战演习
2015/09/22 Javascript
jQuery表格行上移下移和置顶的实现方法
2015/10/08 Javascript
再谈Javascript中的异步以及如何异步
2016/08/19 Javascript
实现JavaScript高性能的数据存储
2016/12/11 Javascript
Bootstrap源码解读导航(6)
2016/12/23 Javascript
jQuery第一次运行页面默认触发点击事件的实例
2018/01/10 jQuery
在小程序中使用Echart图表的示例代码
2018/08/02 Javascript
TypeScript基础入门教程之三重斜线指令详解
2018/10/22 Javascript
vue-cli2.0转3.0之项目搭建的详细步骤
2018/12/11 Javascript
JavaScript中变量提升机制示例详解
2019/12/27 Javascript
python使用mysqldb连接数据库操作方法示例详解
2013/12/03 Python
自动化Nginx服务器的反向代理的配置方法
2015/06/28 Python
python文件名和文件路径操作实例
2017/09/29 Python
Python3 XML 获取雅虎天气的实现方法
2018/02/01 Python
浅谈python3中input输入的使用
2019/08/02 Python
python3将变量写入SQL语句的实现方式
2020/03/02 Python
Python tkinter布局与按钮间距设置方式
2020/03/04 Python
澳大利亚和新西兰最大的在线旅行社之一:Aunt Betty
2019/08/07 全球购物
网上商城创业计划书范文
2014/01/31 职场文书
幼儿园大班开学教师寄语
2014/04/03 职场文书
2014年学习厉行节约反对浪费思想汇报
2014/09/10 职场文书
党的群众路线教育实践活动批评与自我批评范文
2014/10/16 职场文书
小学教师2014年度工作总结
2014/12/03 职场文书
英文感谢信格式
2015/01/21 职场文书