vue打包terser压缩去除控制台打印和断点

情况一:

1、vue-cli搭建

代码压缩工具terser在vue-cli里面是自动支持的,所以直接在vue.config.js里面加入下面配置:

const {defineConfig} = require('@vue/cli-service')
module.exports=defineConfig({transpileDependencies:true,terser:{terserOptions: {compress: {drop_console: true, // 移除 consoledrop_debugger: true, // 移除 debugger},},}
})

2、Vite 搭建

如果你使用的是 Vite 来构建 Vue 3 项目,Terser 已经作为默认的压缩工具被内置。你可以通过 vite.config.js 文件来自定义 Terser 的配置,所以直接加入下面配置即可:

import { defineConfig } from 'vite';
import vue from '@vitejs/plugin-vue';
import { terser } from 'rollup-plugin-terser';export default defineConfig({plugins: [vue(),terser({format: {comments: false, // 不保留注释},compress: {drop_console: true, // 移除 consoledrop_debugger: true, // 移除 debugger},}),],
});

3、配置补充说明

Terser 提供了许多配置选项,以下是一些常用的配置:
drop_console:移除所有的 console 语句。
drop_debugger:移除所有的 debugger 语句。
format:定义输出格式,例如是否保留注释。
compress:一个对象,包含多个压缩选项,如死代码消除、变量提升等。

情况二:

如果用脚手架vue-cli没有默认安装这个插件,可以手动安装,具体步骤如下:

1、安装插件

npm install terser-webpack-plugin --save-dev

2、vue.config.js里面加入配置

const TerserPlugin = require('terser-webpack-plugin');module.exports = {configureWebpack: {optimization: {minimizer: [new TerserPlugin({terserOptions: {compress: {drop_console: true, // 移除 consoledrop_debugger: true, // 移除 debugger},},}),],},},
};

3、效果对比

(1)压缩前打包

在这里插入图片描述
并且打包后的代码里有控制台打印相关的代码
在这里插入图片描述

(2)压缩打包后

在这里插入图片描述
控制台打印相关的代码也被屏蔽了
在这里插入图片描述

4、vue-cli搭建的vue3 完整参考文件配置如下:

const TerserPlugin = require('terser-webpack-plugin');module.exports = {// publicPath: "/zhaopin",chainWebpack: config => {config.plugins.delete("fork-ts-checker"); // 禁用fork-ts-checker},configureWebpack: //插件配置{// plugins://   [new CopyWebpackPlugin(//     { patterns: [{ from: path.resolve(__dirname, 'static'), to: 'server', }] }//   )//   ]optimization: {minimizer: [new TerserPlugin({terserOptions: {compress: {drop_console: true, // 移除 consoledrop_debugger: true, // 移除 debugger},},}),],},},devServer: {port: 8080, // 端口号// 如果外网想ip访问 屏蔽掉host// host: 'localhost',https: false, // https:{type:Boolean}open: false, // 配置自动启动浏览器// proxy: 'http://localhost:3000' // 配置跨域处理,只有一个代理proxy: {'sysApi/': {// target: 'http://localhost:8088',target: 'http://1.94.47.xxx:8021/sysApi',ws: true,changeOrigin: true,pathRewrite: {'^/sysApi': '' // 通过pathRewrite重写地址,将前缀/api转为/}}} // 配置多个代理},assetsDir: 'static',lintOnSave: false,
};

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

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

相关文章

看影视学英语(假如第一季第一集)

in the hour也代表一小时吗?等同于in an hour?

activemq-CVE-2022-41678

Apache ActiveMQ Jolokia 后台远程代码执行漏洞 Apache ActiveMQ在5.16.5,5.17.3版本及以前,后台Jolokia存在一处任意文件写入导致的远程代码执行漏洞。 启动环境 admin/admin 方法一:利用poc 这个方法受到ActiveMQ版本的限制,因…

Linux 创建新虚拟机的全过程图解

一、创建新虚拟机 1.选择自定义 2.直接下一步 3.选择稍后安装 4.设置虚拟机名和安装位置 5.配置处理器(处理器数量:4、每个处理器的内核:2) 6. 内存选择 7.网络类型 8. IO控制器类型-默认推荐 9.磁盘类型-默认推荐 10.选择虚拟磁…

JS代码动态打印404页面源码

JS代码动态打印404页面源码,适合做网站错误页,具有js动态打印效果,喜欢的朋友可以拿去 源码由HTMLCSSJS组成,记事本打开源码文件可以进行内容文字之类的修改,双击html文件可以本地运行效果,也可以上传到服务…

Linux udp编程

我最近开了几个专栏,诚信互三! > |||《算法专栏》::刷题教程来自网站《代码随想录》。||| > |||《C专栏》::记录我学习C的经历,看完你一定会有收获。||| > |||《Linux专栏》&#xff1…

空间计量模型及 Stata 具体操作步骤

目录 一、引言 二、空间计量模型理论原理 空间自回归模型(SAR): 空间误差模型(SEM):, 空间杜宾模型(SDM): 三、实证模型构建 四、数据准备 五、Stata …

14-56 剑和诗人30 - IaC、PaC 和 OaC 在云成功中的作用

介绍 随着各大企业在 2024 年加速采用云计算,基础设施即代码 (IaC)、策略即代码 (PaC) 和优化即代码 (OaC) 已成为成功实现云迁移、IT 现代化和业务转型的关键功能。 让我在云计划的背景下全面了解这些代码功能的当前状态。我们将研究现代云基础设施趋势、IaC、Pa…

【电路笔记】-C类放大器

C类放大器 文章目录 C类放大器1、概述2、C类放大介绍3、C类放大器的功能4、C 类放大器的效率5、C类放大器的应用:倍频器6、总结1、概述 尽管存在差异,但我们在之前有关 A 类、B 类和 AB 类放大器的文章中已经看到,这三类放大器是线性或部分线性的,因为它们在放大过程中再现…

Collection 和 Collections 的区别与用法

Collection 和 Collections 的区别与用法 1、Collection 接口1.1 主要特点1.2 常见方法 2、 Collections 工具类2.1 主要特点2.2 常见方法 3、示例代码3.1 使用 Collection 接口3.2 使用 Collections 工具类 4、总结 💖The Begin💖点点关注,收…

STM32学习历程(day6)

EXTI外部中断使用教程 首先先看下EXTI的框图 看这个框图就能知道要先初始化GPIO外设 那么和前面一样 1、先RCC使能时钟 2、配置GPIO 选择端口为输入模式, 3、配置AFIO,选择我们用的GPIO连接到后面的EXTI 4、配置EXTI,选择边沿触发方式…

LVS实验

LVS实验 nginx1 RS1 192.168.11.137 nginx2 RS2 192.168.11.138 test4 调度器 ens33 192.168.11.135 ens36 12.0.0.1 test2 客户端 12.0.0.10 一、test4 配置两张网卡地址信息 [roottest4 network-scripts]# cat ifcfg-ens33 TYPEEthernet BOOTPROTOstatic DEFROUTEyes DEVIC…

详解平面DP(上)

前言 其实平面DP和正常的dp没有什么本质上的区别,只不过是在二维的面上进行DP,而且,客观的说,其实和递推没有什么区别,不要把他想的太难了 讲解 本蒻鸡思前想后,好像关于平面DP的理论知识好像没有什么&a…

前后端分离系统

前后端分离是一种现代软件架构模式,特别适用于Web应用开发,它强调将用户界面(前端)与服务器端应用逻辑(后端)相分离。两者通过API接口进行数据交互。这种架构模式的主要优势在于提高开发效率、维护性和可扩…

Git命令常规操作

目录 常用操作示意图 文件的状态变化周期 1. 创建文件 2. 修改原有文件 3. 删除原有文件 没有添加到暂存区的数据直接 rm 删除即可: 对于添加到暂存区的数据 文件或目录: 4. 重命名暂存区数据 5. 查看历史记录 6. 还原历史数据 恢复过程的原…

最新深度技术Win7精简版系统:免费下载!

在Win7电脑操作中,用户想要给电脑安装上深度技术Win7精简版系统,但不知道去哪里才能找到该系统版本?接下来系统之家小编给大家带来了深度技术Win7系统精简版本的下载地址,方便大家点击下载安装。系统安装步骤已简化,新…

设计模式8-桥模式

设计模式8-Bridge 桥模式 由来与目的模式定义结构代码推导1. 类和接口的定义2. 平台实现3. 业务抽象4. 使用示例总结1. 类数量过多,复杂度高2. 代码重复3. 不符合单一职责原则4. 缺乏扩展性改进后的设计1. 抽象和实现分离(桥接模式)2. 抽象类…

学习XDMA—20240709

概览: 在内部,子系统可以配置为实现多达8个独立的物理DMA引擎(最多4个H2C和4个C2H)。这些DMA引擎可以映射到单独的AXI4Stream接口,也可以将共享的AXI4内存映射(MM)接口映射到用户应用程序。在axis4 MM接口上,PCI Express的DMA/桥接…

linux查看目录下的文件夹命令,find 查找某个目录,但是不包括这个目录本身?

linux查看目录下的文件夹命令,find 查找某个目录,但是不包括这个目录本身? Linux中查看目录下的文件夹的命令是使用ls命令。ls命令用于列出指定目录中的文件和文件夹。通过不同的选项可以实现显示详细信息、按照不同的排序方式以及使用不同的…

Profibus转ModbusTCP网关模块实现Profibus_DP向ModbusTCP转换

Profibus和ModbusTCP是工业控制自动化常用的二种通信协议。Profibus是一种串口通信协议,它提供了迅速靠谱的数据传输和各种拓扑结构,如总线和星型构造。Profibus可以和感应器、执行器、PLC等各类设备进行通信。 ModbusTCP是一种基于TCP/IP协议的通信协议…

一次零基础 自“信息收集“到“权限维持“的渗透测试全程详细记录

一、渗透总流程 1.确定目标: 在本靶场中,确定目标就是使用各种扫描工具进行ip扫描,确定目标ip。 2.信息收集: 比如平常挖洞使用fofa,天眼查,ip域名等进行查,在我们这个靶场中比如使用Wappalyz…