当前位置: 首页 > news >正文

vue vite开发时保留console.log打包完后依然想保留某个文件夹下的console.log方便以后的观察

首先需要安装包

npm i terser  @rollup/plugin-strip 具体的包如下:
"@rollup/plugin-strip": "^3.0.4","terser": "^5.39.0",   // 这个不用也行  如果不用则需要将build中的minify和terserOptions一并删除了

然后在vite.config.js中进行如下配置:重点在plugins下的strip这个配置以及build下的terserOptions这个配置

  plugins: [vue(),// 重点在strip这个配置以及build下的terserOptionsstrip({include: '**/*.{js,ts,vue}',functions: ['console.log'],// 这里可以指定要排除的文件或文件夹,比如你想要保留console.log的文件exclude: ['src/utils/websockets.js',],})],resolve: {alias: {'@': fileURLToPath(new URL('./src', import.meta.url))},},build: {chunkSizeWarningLimit: 16000,minify: 'terser', // 明确指定使用 terserterserOptions: {compress: {drop_console: false, // 保留 console},}},

然后运行npm run build 找到assets下的js文件,在这个js文件中可以搜索到下边这个文件中的console.log

exclude: ['src/utils/websockets.js',],

从而说明保留了当前文件中的console.log,而其他文件中的console.log则未保留,打包完全部删除了

新的方法,并且保留在开发时所有的console.log输出不受影响,只有在打包后删除不必要的console.log

import strip from "@rollup/plugin-strip";export default defineConfig(({mode})=>({plugins: [vue(),// 打包时要解注释mode === 'production' && strip({include: '**/*.{js,ts,vue}',functions: ['console.log'],// 排除的文件(保留这些文件里的所有 console.log)exclude: ['src/utils/websockets.js',],}),].filter(Boolean), // 过滤掉 false 值(开发环境会移除 strip 插件),resolve: {alias: {'@': fileURLToPath(new URL('./src', import.meta.url))},},build: {chunkSizeWarningLimit: 16000,},......
}));
http://www.dtcms.com/a/147657.html

相关文章:

  • Linux的基础的操作指令
  • 关于ORM
  • 辛格迪客户案例 | 上海科济药业细胞治疗生产及追溯项目(CGT)
  • Qt-创建模块化.pri文件
  • Windows BilibiliHistoryFetcher-v1.3.2-v1.2.1-开源B站历史记录管理工具[支持批量管理下载]
  • 01_Flask快速入门教程介绍
  • OneClicker脚本自动运行工具
  • 白嫖腾讯的H20!!!同时部署RVC模型
  • 堡垒机和跳板机之区别(The Difference between Fortress and Springboard Aircraft)
  • 一文详解卷积神经网络中的卷积层和池化层原理 !!
  • 量化交易 - RSRS(阻力支撑相对强度)- 正确用法 - 年均收益18%
  • 进行ecovadis认证有哪些优势?百胜咨询:专业ecovadis认证辅导机构
  • Java并发:线程池
  • 车载软件架构 --- 二级boot设计说明需求规范
  • 阻塞队列-ArrayBlockingQueue
  • C++算法(11):vector作为函数参数的三种传递方式详解
  • Mininet--nodelib.py源码解析
  • Fluent 内置双向流固耦合FSI 液舱晃荡仿真计算
  • Vue的模板语法——指令语法
  • Discuz!与DeepSeek的深度融合:打造智能网址导航新标杆
  • 测试基础笔记第八天
  • 如何解决Enovia许可冲突
  • 抱佛脚之学SSM三
  • Linux操作系统--进程等待
  • 【全网最全】23种设计模式思维导图详解 | 含React/Vue/Spring实战案例
  • JavaScript 闭包:从原理到实战应用
  • 单片机 + 图像处理芯片 + TFT彩屏 进度条控件
  • Nacos 客户端 SDK 的核心功能是什么?是如何与服务端通信的?
  • Qt界面控件中点击触发处理耗时业务的方法
  • 【MySQL】详细介绍(两万字)