Vue3 vite 项目使用 loglevel库作为前端(浏览器)日志库

文章介绍了在Vue项目中遇到的日志过多导致调试困难的问题,提出使用loglevel库来管理日志级别。在开发阶段设置日志级别为debug,发布时设置为error,以便突出关键信息。同时强调了团队间日志规范统一和动态控制日志级别的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、参考

  1. vue 日志框架 log4javascript
  2. loglevel npm 官网

二、 问题描述

工作中,同事在分享项目的时候,说总部大佬(是从Android 转过来的)写的代码有非常多的日志,代码写的很规范,但是带来的问题日志过多,反而突出不了重点,给调试带来了麻烦——要到处去找相关的日志。

解决办法

  1. 早期使用过 log4javascript
  2. 在网上搜索到了 loglevel

为什么不使用控制台原生的 console.log日志?
虽然浏览器的控制台功能很强大,后台开发的人都知道日志的重要性,日志库一般都会有日志级别,比如 log4j,在开发的时候将日志级别调得比较低,可以看到大部分日志,发布的时候,调高日志级别,可以查看关键重要的日志

三、开发实现

import { createApp } from 'vue'

/* *********** 引入 日志 loglevel ************ */
import log from 'loglevel';

// window.console.log = log.trace
window.console.log = log.info
window.console.debug = log.debug
window.console.info = log.info
window.console.warn = log.warn
window.console.error = log.error

const msg = "我是测试内容"

//import.meta.env.MODE development
console.log('import.meta.env.MODE', import.meta.env.MODE)
// 设置日志级别
if (import.meta.env.MODE === 'development') {
  log.setLevel('debug')
} else {
  log.setLevel('error')
}

/* log.trace(msg)
log.debug(msg)
log.info(msg)
log.warn(msg)
log.error(msg) */
console.log(msg)
console.debug(msg)
console.info(msg)
console.warn(msg)
console.error(msg)

app.mount('#app')

日志级别是 debug
请添加图片描述

日志级别是 error

请添加图片描述

规范说明

  1. 既然有了日志级别,就需要团队统一日志规范,方便团队协同开发调试
  2. 将日志级别的 设置权限交给后台,这样方便动态控制日志级别,方便现场调试
<think>好的,我现在需要帮助用户解决如何在Vue3项目中打包并生成dist目录的压缩文件的问题。首先,我得回忆一下Vue项目打包的基本流程,尤其是Vue3结合Vite的情况。用户提到了参考引用中的内容,特别是引用[2]里的vite配置和插件使用,这可能是一个关键点。 用户的问题可以分为两部分:打包生成dist目录和自动生成压缩包。打包部分对于Vue3项目来说,通常是运行npm run build命令,这会调用Vite的构建流程,生成dist文件夹。这一步应该比较直接,但用户可能想确认是否有特殊配置需要注意,比如路径问题,引用[1]提到打包时的资源相对路径,可能需要检查vite.config.js中的相关设置,比如base路径或者别名配置。 然后是生成压缩包的部分。根据引用[2]中的示例,用户需要配置一个Vite插件来自动在打包后压缩dist目录。这里可能需要使用到JSZip或者类似的,或者利用Node.js的文件系统模块和archiver等工具来创建zip文件。用户提供的代码示例中有一个自定义插件myPlugin,导入自&#39;./zip&#39;,这说明需要自己编写一个插件,或者使用现有的社区插件。 接下来,我需要考虑如何实现这个插件。Vite的插件系统基于Rollup,可以在构建的生命周期钩子中执行操作。例如,在build阶段的closeBundle钩子中,当打包完成后,执行压缩dist目录的任务。这时候需要使用Node.js的child_process模块调用系统命令,或者使用archiver这样的来编程生成zip文件。 另外,用户可能对如何编写这个插件不太清楚,所以需要给出具体的代码示例。比如,在vite.config.js中添加一个插件,该插件在构建完成后执行压缩操作。同时,需要确保安装了必要的依赖,比如archiver或者fs-extra,用于处理文件和压缩。 可能还需要考虑不同操作系统的兼容性问题,比如在Windows和Unix-like系统中路径的处理方式。此外,压缩后的文件应该放在哪里,是否需要删除dist目录后再压缩,或者保留原文件夹。这些都是需要注意的细节。 总结一下,步骤应该是: 1. 正常打包生成dist目录。 2. 使用Vite插件在构建完成后自动压缩dist为zip文件。 3. 提供具体的插件代码示例,说明如何实现这一功能。 需要验证这些步骤是否正确,确保引用的资料准确。例如,引用[2]中的示例是否正确,是否需要调整。同时,提醒用户安装必要的依赖,并检查路径配置是否正确,避免出现文件找不到的错误。</think>在Vue3项目中实现打包自动生成dist压缩文件的操作步骤如下: ### 一、基础打包配置 1. 在`vite.config.js`中已包含标准Vue3项目配置: ```javascript import { defineConfig } from &#39;vite&#39; import vue from &#39;@vitejs/plugin-vue&#39; export default defineConfig({ plugins: [vue()], build: { outDir: &#39;dist&#39; // 默认输出目录 } }) ``` 执行`npm run build`即可生成dist目录[^1] ### 二、实现自动压缩(核心步骤) #### 方法1:使用archiver 1. 安装依赖: ```bash npm install archiver fs-extra --save-dev ``` 2. 创建`zip-plugin.js`自定义插件: ```javascript import path from &#39;path&#39; import fs from &#39;fs&#39; import archiver from &#39;archiver&#39; export default function zipPlugin() { return { name: &#39;zip-dist&#39;, closeBundle() { const source = path.resolve(&#39;dist&#39;) const output = fs.createWriteStream(&#39;dist.zip&#39;) const archive = archiver(&#39;zip&#39;, { zlib: { level: 9 } }) archive.directory(source, false) archive.pipe(output) archive.finalize() console.log(&#39;\x1b[32m&#39;, &#39;✓ dist.zip created&#39;) } } } ``` #### 方法2:使用shell命令(跨平台方案) ```javascript import { execSync } from &#39;child_process&#39; export default function zipPlugin() { return { name: &#39;zip-dist&#39;, closeBundle() { try { execSync(&#39;cd dist && bestzip ../dist.zip ./*&#39;) console.log(&#39;✓ ZIP created using system command&#39;) } catch (error) { console.error(&#39;ZIP creation failed:&#39;, error) } } } } ``` ### 三、集成到Vite配置 ```javascript // vite.config.js import { defineConfig } from &#39;vite&#39; import vue from &#39;@vitejs/plugin-vue&#39; import zipPlugin from &#39;./zip-plugin&#39; // 引入自定义插件 export default defineConfig({ plugins: [ vue(), zipPlugin() // 添加压缩插件 ] }) ``` ### 四、执行构建 ```bash npm run build ``` 构建完成后会在项目根目录生成`dist.zip`压缩包[^2]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值