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

在开发环境写了很多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中遇到数据更新但是页面没有更新的情况

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

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

data(){

return {

cards:[]

}

}

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

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

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

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

cacelHandler(card){

card.isShow = false;

this.$forceUpdate();

}

vue官方对$forceUpdate的解释是:

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/334729.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

mfc 弹簧_弹簧和线程:事务

mfc 弹簧为了能够在我们的线程中使用事务,我们需要了解事务如何在spring中工作。 spring中的事务信息存储在ThreadLocal变量中。 因此,这些变量特定于单个线程上正在进行的事务。 当涉及由单个线程运行的动作时,事务将在分层调用的Spring组件…

MacBook 如何通过命令终端进入 U 盘内的目录

U 盘通常是在目录 /Volumes 下,输入命令 cd /Volumes/U 盘名称,如下: liaowenxiongdeMacBook-Air:/ root# cd /Volumes/大白菜U盘 liaowenxiongdeMacBook-Air:大白菜U盘 root# ls .Trashes DBC System Volume Information进入目录后&am…

Html调用窗口,等待HTML调用window.print()之前写窗口

我有这样的尝试是把一些内容到一个弹出窗口,然后JavaScript代码连接到打印:等待HTML调用window.print()之前写窗口$(".print_friendly_popup").click(function() {var target $(this).data(print-target);var left (screen.width/2)-(500/2)…

spring 导出csv_Spring批处理CSV处理

spring 导出csv总览 我们将讨论的主题包括使用Spring Batch进行批处理的基本概念,以及如何将数据从CSV导入数据库。 0 – Spring Batch CSV处理示例应用程序 我们正在构建一个应用程序,演示用于处理CSV文件的Spring Batch的基础。 我们的演示应用程序将…

python强制结束函数_为什么Python没有 main 函数?终于有人给出了正确答案!

毫无疑问,Python中没有所谓的 main 入口函数,但在网上经常有文章提到“Python中的main函数”和“建议编写main函数”等。他们的目的可能是模仿真实的 main 函数,但是经常有很多人被误导(或误解)并编写非常繁琐的代码。…

MacOS 如何显示/隐藏文件

文章目录显示/隐藏文件快捷键修改“访达”属性修改文件隐藏属性设置特殊文件名实现隐藏使用命令设置文件隐藏属性显示/隐藏文件 快捷键 按下 Shift Command . 可以显示隐藏型的文件,再按下 Shift Command . 则不显示隐藏型的文件 修改“访达”属性 defaults…

html标签的嵌套规则有哪些,html 标签的嵌套规则

如何在 Visual Studio 中使用 Git 同步代码到 CodePlex开源社区不管在国内还是国外都很火热,微软也曾因为没有开源而倍受指责,但是随着 .Net framework.ASP.Net MVC等框架的逐渐开源,也让大家看到了微软开源的步伐.CodePlex 则是 ...【android】Android am命令使用一.开启Activ…

lombok_Lombok–您绝对应该尝试一下

lombokLombok在Java生态系统中并不是什么新鲜事物,但是我必须承认,在尝试它之前或在我“很确信”尝试之前,我总是低估了它的价值。 我发现添加一个库来生成代码的价值并不高,这些库可以被当今的任何现代IDE轻松生成。 因此&#x…

不相关子查询的工作方式是_课题组工作|Nucleic Acids Research|基于表达密度谱的特征子空间分离及相关单细胞转录组分群新算法...

大家好!为大家分享本课题组近期发表在Nucleic Acids Research的文章,题目为 “Entropy subspace separation-based clustering for noise reduction (ENCORE) of scRNA-seq data”,文章提出了一种基于表达密度谱的特征选择方法,能…

Mac OS 使用命令(scp/sftp)将本地文件上传到远程 Linux 服务器主机或者从远程主机下载文件到本地主机

文章目录一、使用 scp 命令(一)将本地的文件上传(上载/复制)到远程主机的指定目录下(二)将本地主机的目录内容(含目录本身)上传到远程主机指定的目录下1.将本地主机桌面上的目录 www…

java 9 module_Java 9:欢迎来到Module World

java 9 moduleJava 9已于9月21日正式发布,Eclipse从Eclipse Oxygen.1a(4.7.1a)支持Java 9,让我们进入模块世界。 从此处下载Java 9,并将其添加到Eclipse Installed JRE中,如下所示 就是这样,…

python提取html正文为txt,python 提取html文本的方法

假设我们需要从各种网页中提取全文,并且要剥离所有HTML标记。通常,默认解决方案是使用BeautifulSoup软件包中的get_text方法,该方法内部使用lxml。这是一个经过充分测试的解决方案,但是在处理成千上万个HTML文档时可能会非常慢。通…

Mac OS 通过配置窗口来连接远程主机

点击连接后,就跳到命令终端窗口中,输入远程主机 root 用户的登录密码,则完成连接。

温度补偿计算公式_一种工业用温度测量模块的设计与实现

一种工业用温度测量模块的设计与实现罗伯特侯0 引言温度是工业生产中最重要的参数之一,因此温度测量设备在工业领域不可或缺。热电偶是工业场合中应用最广泛的温度传感器,它的主要特点是测温范围宽,价格低,同时结构简单,坚固耐用。笔者采用高集成度、高精…

taskexecutor_弹簧和线程:TaskExecutor

taskexecutor在Web应用程序中使用线程并不罕见,尤其是当您必须开发长期运行的任务时。 考虑到spring,我们必须格外注意并使用它已经提供的工具,而不是生成我们自己的线程。 我们希望线程由spring管理,因此能够在没有任何影响的情…

Linux 命令之 find -- 查找文件和目录/搜索文件和目录

文章目录命令介绍语法格式常用选项文件类型参考示例(一)在当前目录及其子目录下搜索内容中含有“140.206.111.111”的所有文件(二)列出当前目录及其子目录下所有文件和目录(三)在指定目录下查找特定名称的文…

javaserver_什么是JavaServer Faces(JSF)–(第2部分)

javaserverFacelets声明语言 在第1部分中,我介绍了JavaServer Pages(JSF)背后的基本思想 。 在本文中,我想介绍Facelets声明语言 。 HTML标签 我们遇到的第一个标签是代表HTML元素HTML标签。 这些实际上只是HTML标记(…

微博如何发订阅消息_微信订阅号或将大变天,微博8年前就这么干了...

近日,微信又偷偷的做了一个大胆的尝试,将公众号消息排序改版,不再按照一直以来的“时间轴展示”,而是学起了微博,变成了“智能排序”。微信的“阅读效率优化”排序不过可能是为了独树一帜,微信管这种排序方…

html怎么填充颜色渐变,CSS实现不规则图形,填充渐变色

JS Bin/* 背景图片实现 */.background-box {width: 400px;height: 100px;/* 透明色替换为当前背景底色 */background:linear-gradient(-135deg, transparent 50px, red , yellow) top right;background-size: 50% 50%;background-repeat: no-repeat;}/* 边框实现 */.border-box…

Linux 命令之 locate -- 文件查找工具(查找文件/搜索文件)

文章目录一、命令介绍二、相关文件说明配置文件 updatedb.conf三、更新数据库四、常用选项五、命令示例搜索文件名以指定字符串开头的文件查找名称中含有指定字符串的文件使用正则表达式查找特定条件的文件一、命令介绍 locate 命令用来查找文件或目录。 locate 命令要比 find…