vue-cli2,vue-cli3,vite 生产环境去掉console.log

console.log一般都是在开发环境下使用的,在生产环境下需要去除 ,如果手动删除未免也太累了,我们可以用插件对于具体环境全局处理。

 vue-cli2

项目build 下面webpack.prod.config.js 文件中:


plugins: [new webpack.DefinePlugin({'process.env': env}),new UglifyJsPlugin({uglifyOptions: {compress: {warnings: false,//drop_console  传递true以放弃对控制台的调用。*功能drop_console: true,// pure_funces 禁用console.log函数pure_funcs: ['console.log']}},sourceMap: config.build.productionSourceMap,parallel: true}),......
]
vue-cli3

vue.config.js 里配置.

configureWebpack: config => {//生产环境取消 console.logif (process.env.NODE_ENV === 'production') {config.optimization.minimizer[0].options.terserOptions.compress.drop_console = true}},

 如果生产环境的文件中NODE_ENV  自定义,不是production,上述代码或报错,会显示找不到minimizer, 所以生产环境的NODE_ENV 尽量设置为production

生产环境NODE_ENV  自定义或者为production,都可以用下面的代码

const UglifyJsPlugin = require('uglifyjs-webpack-plugin');configureWebpack: config => {//生产环境取消 console.logif (process.env.NODE_ENV === 'prod') {optimization: {minimizer: [new UglifyJsPlugin({uglifyOptions: {compress: {// warnings: false,drop_console: true, //注释consoledrop_debugger: true,pure_funcs: ['console.log'] //移除console}}})]}}},
vite

1.build.minify为terser时(terser需要npm单独安装):

npm add -D terser

vite.config.ts  里配置.

import { defineConfig } from 'vite'
export default defineConfig( { 
...build : {minify : 'terser' ,terserOptions : {compress : {drop_console : true ,drop_debugger : true ,} ,} , } ,
...
} )

2. build.minify默认为esbuild时:

    build : {esbuild: {drop: mode === 'production' ? ['console', 'debugger'] : []},}

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

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

相关文章

SHUISHUISHUI

对于C8T6程序存储容量是64K,一般写一个程序只占前边很小一部分空间,剩下的大部分空间可以利用,比如存储一些自定义的数据,充分利用资源,但是需要注意不能覆盖原有程序,否则将程序破坏,无法运行。…

STL vector详解

STL vector详解 1. 简介2. vector的内存机制3. vector 基类源码_Vector_base3.1. vector 基类成员变量3.2. vector 基类方法3.3. _Vector_base 总结 4. vector类4.1. 方法 1. 简介 本文参考vector源码,主要介绍vector的设计思路,了解一些方法的实现原理…

20240506 深度学习高级技术点

1.基于BN层剪枝 基于Batch Normalization (BN)层进行剪枝是一种常用的模型压缩方法,特别是在卷积神经网络(CNNs)中。BN层在训练期间用于加速收敛和提高模型的泛化能力,而在剪枝过程中,BN层提供的统计信息(特别是均值(mean)和方差…

HarmonyOS实战开发-如何通过BlendMode属性来实现挂件和图片的混合

介绍 本实例主要通过BlendMode属性来实现挂件和图片的混合,通过更改不同的混合参数,能够展示不同的混合效果。 效果图预览 使用说明: 1.进入页面,点击挂件区域,进行挂件和图片的混合,点击不同的挂件&…

miniforge:Anaconda的代餐

诸神缄默不语-个人CSDN博文目录 总之conda / anaconda / miniforge / mamba都是差不多一个系列的Python环境管理工具。我一般自己用的话会用Anaconda,我之前也写过教程:Anaconda教程(持续更新ing…) miniforge是因为我队友用&am…

Golang 开发实战day12 - Pointer

🏆个人专栏 🤺 leetcode 🧗 Leetcode Prime 🏇 Golang20天教程 🚴‍♂️ Java问题收集园地 🌴 成长感悟 欢迎大家观看,不执着于追求顶峰,只享受探索过程 Golang 开发实战day12 - 指针…

Python实验代码定时调起

Python代码实验调参需要等待1小时运行完成,自动将提前设置的5组参数(每组参数有8个)间隔1小时之后让Python代码再次自动依次调起运行其中的一组参数,每次跑完将实验结果写一个文件在本地存储通过邮件发送运行结果到指定QQ邮箱 im…

国家电网某地电力公司网络硬件综合监控运维项目

国家电网某地电力公司是国家电网有限公司的子公司,负责当地电网规划、建设、运营和供电服务,下属多家地市供电企业和检修公司、信息通信公司等业务支撑实施机构。 项目现状 随着公司信息化建设加速,其信息内网中存在大量物理服务器、存储设备…

Linux动态库与静态库解析

文章目录 一、引言二、C/C源文件的编译过程三、静态库1、静态库的定义和原理2、静态库的优缺点3、静态库的创建和使用a、创建静态库b、使用静态库 四、动态库1、动态库的定义和原理2、动态库的优缺点3、动态库的创建和使用示例a、创建动态库b、使用动态库 五、动静态库的比较 一…

Python使用多进程和多线程处理数据

多进程适合于计算密集型任务和需要大量计算资源的场景,而多线程适合于I/O密集型任务和需要快速上下文切换的场景。 多线程版本 import time import concurrent.futures from tqdm import tqdmfile_list [file1.txt, file2.txt, file3.txt]*10def process_file(fi…

最长连续序列(Lc128)——哈希表

给定一个未排序的整数数组 nums ,找出数字连续的最长序列(不要求序列元素在原数组中连续)的长度。 请你设计并实现时间复杂度为 O(n) 的算法解决此问题。 示例 1: 输入:nums [100,4,200,1,3,2] 输出:4 …

Pytorch学习笔记——神经网络基本框架

一、神经网络是什么 神经网络在人工智能和深度学习的领域,一般称为人工神经网络,即ANN(Artificial Neural Network),是一种模仿人脑神经系统工作方式的计算模型。被广泛应用于人工智能、自动控制、机器人、统计学等领域的信息处理中。 二、…

套管外径测量仪 多尺寸型号 规格全可定制

套管(bushing)是一种将带电导体引入电气设备或穿过墙壁的一种绝缘装置。前者称为电器套管,后者称为穿墙套管。套管通常用在建筑地下室,是用来保护管道或者方便管道安装的铁圈。套管的分类有刚性套管、柔性防水套管、钢管套管及铁皮…

【快速幂取模】

求 a 的 b 次方对 p 取模的值&#xff0c;其中 1≤a,b,p≤109 输入 三个用空格隔开的整数a,b和p。 输出 一个整数&#xff0c;表示ab mod p的值。 样例输入 Copy 2 3 9样例输出 Copy 8 思路&#xff1a; 这里借鉴一下大佬的用例&#xff1a; #include<bits/stdc.h&…

idea提示 CreateProcess error=206, 文件名或扩展名太长有哪些具体的解决方法

背景&#xff1a; 项目启动后提示CreateProcess error206&#xff0c;通常我本地是将shorten command line改成如下就可以解决&#xff0c;但是今天遇到一个&#xff0c;无论这里怎么设置都是启动提示扩展名太长&#xff0c;经过一番处理问题终于解决&#xff0c;特此记录一下。…

《21天学通C++》(第十八章)STL list和forward_list

std::list的特点 1.插入和删除操作高效&#xff1a;在任意位置插入或删除元素的开销是 O(1)&#xff0c;不需要像 std::vector 那样可能需要移动大量元素。 2.不支持随机访问&#xff1a;访问 std::list 中的元素需要从头开始遍历到所需位置&#xff0c;访问特定元素的时间复杂…

面试笔记——垃圾回收

对象被垃圾回收的时机 垃圾回收主要面向的是堆中的对象。简单一句就是&#xff1a;如果一个或多个对象没有任何的引用指向它了&#xff0c;那么这个对象现在就是垃圾&#xff0c;如果定位了垃圾&#xff0c;则有可能会被垃圾回收器回收。 如果要定位什么是垃圾&#xff0c;有两…

linux命令行与shell脚本大全——学习笔记(7-8章)

第7章 理解Linux文件权限 用户、用户组、其他用户 用户权限是通过创建用户时分配的用户 ID&#xff08;user ID&#xff0c;UID&#xff09;来跟踪的。UID 是个数值&#xff0c;每个 用户都有一个唯一的 UID。但用户在登录系统时是使用登录名&#xff08;login name&#xff…

分布式锁-快速入门

文章目录 前言一、基础概念1.1 什么是锁1.2 什么是分布式锁1.3 锁和事务的区别二、分布式锁基础理论2.1 为什么要使用分布式锁2.2 分布式锁特性2.3 分布式锁的实现方式总结前言 由于在平时的工作中,线上服务器是分布式多台部署的,经常会面临解决分布式场景下数据一致性的问题…

TRILL解析

Deep Imitation Learning for Humanoid Loco-manipulation through Human Teleoperation解析 摘要1.简介2. Related work2.1 人形机器人的局部操纵2.2 远程操作示范中的模仿学习 3. 方法 论文链接&#xff1a;https://arxiv.org/abs/2309.01952 论文项目&#xff1a;https://ut…