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.pswp.cn/web/42838.shtml
繁體地址,請注明出處:http://hk.pswp.cn/web/42838.shtml
英文地址,請注明出處:http://en.pswp.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文件可以本地運行效果,也可以上傳到服務…

Redis 7.x 系列【22】主從復制配置項

有道無術,術尚可求,有術無道,止于術。 本系列Redis 版本 7.2.5 源碼地址:https://gitee.com/pearl-organization/study-redis-demo 文章目錄 1. 前言2. 配置說明2.1 replicaof2.2 masterauth2.3 masteruser2.4 replica-serve-sta…

Linux udp編程

我最近開了幾個專欄,誠信互三! > |||《算法專欄》::刷題教程來自網站《代碼隨想錄》。||| > |||《C專欄》::記錄我學習C的經歷,看完你一定會有收獲。||| > |||《Linux專欄》&#xff1…

Go中gin框架的*gin.Context參數常見實用方法

梗概: *gin.Context是處理HTTP請求的核心。ctx代表"context"(上下文),它包含了處理請求所需的所有信息和方法,例如請求數據、響應構建器、路由參數等。 基本的格式: func SomeHandler(ctx *gi…

空間計量模型及 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系統精簡版本的下載地址,方便大家點擊下載安裝。系統安裝步驟已簡化,新…

定位和分析解決std::thread創建失敗的問題和解決方法(mmap虛擬地址耗盡)

文章目錄 引言問題描述和分析監控shell腳本shell腳本解釋 問題根源追溯解決方案一:增大mmap區域解決方案二:優化線程棧空間解決方案三:引入線程池參考文章 引言 在高并發和長周期運行的環境中,頻繁創建std::thread線程可能導致mm…

設計模式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/橋接…