编辑
2025-06-23
默认分类
00

目录

配置文件结构解析
主要特点
关键改进说明:

以下是添加了详细注释的 VitePress 配置文件解析:

typescript
/* ==================== 基础配置部分 ==================== */ // 导入 VitePress 核心配置函数 import { defineConfig } from "vitepress"; // 导入 Teek 主题配置函数 import { defineTeekConfig } from "vitepress-theme-teek/config"; /* ==================== 插件导入部分 ==================== */ // 代码组图标插件(包含 Markdown 和 Vite 两部分) import { groupIconMdPlugin, groupIconVitePlugin, } from "vitepress-plugin-group-icons"; // 时间线插件(用于 Markdown 文档) import timeline from "vitepress-markdown-timeline"; // 自定义模块导入 import { Nav } from "./ConfigHyde/Nav"; // 导航栏配置 import type { HeadConfig } from "vitepress"; // 类型定义 import { HeadData } from "./ConfigHyde/Head"; // 页面头部配置 import { SocialLinks } from "./ConfigHyde/SocialLinks"; // 社交链接 import { CommentData } from "./ConfigHyde/Comment"; // 评论系统配置 import { Wallpaper } from "./ConfigHyde/Wallaper"; // 壁纸配置 // 构建相关插件 import { visualizer } from "rollup-plugin-visualizer"; // 打包分析 import viteImagemin from "vite-plugin-imagemin"; // 图片压缩 import llmstxt from "vitepress-plugin-llms"; // LLMS 文本处理 import { RSSOptions, RssPlugin } from "vitepress-plugin-rss"; // RSS 订阅功能 /* ==================== 全局常量定义 ==================== */ const baseUrl = "https://onedayxyy.cn"; // RSS 订阅配置 const RSS: RSSOptions = { title: "One Blog", baseUrl, copyright: "Copyright 2021-2025 One Blog", }; // 网站描述(会转换为逗号分隔的字符串) const description = [ "欢迎来到 vitepress-theme-teek 使用文档", "Teek 是一个基于 VitePress 构建的主题...", "Teek 拥有三种典型的知识管理形态..." ].toString(); // 封面图片列表(从 Wallpaper 模块获取) const CoverImgList = Wallpaper; /* ==================== Teek 主题配置 ==================== */ const teekConfig = defineTeekConfig({ /* ----- 基础功能配置 ----- */ // 返回顶部和评论区跳转的回调函数 backTopDone: (TkMessage) => TkMessage.success({/*...*/}), toCommentDone: (TkMessage) => TkMessage.success({/*...*/}), /* ----- 代码块配置 ----- */ codeBlock: { disabled: false, // 是否禁用增强代码块 collapseHeight: 700, // 自动折叠高度阈值 copiedDone: (TkMessage) => TkMessage.success("代码已复制 🎉") // 复制回调 }, /* ----- 页面布局配置 ----- */ page: { pageSize: 16 // 每页文章数量 }, post: { coverImgMode: "full", // 封面图显示模式 showMore: true // 是否显示"更多"按钮 }, /* ----- 作者信息 ----- */ author: { name: "One", link: "https://gitee.com/..." }, /* ----- 文章元数据配置 ----- */ articleAnalyze: { imageViewer: { hideOnClickModal: true }, // 图片查看器行为 showIcon: true, // 是否显示信息图标 dateFormat: "yyyy-MM-dd", // 日期格式 showInfo: true, // 是否显示文章信息 // 各项信息的显示控制 showAuthor: true, showCreateDate: true, showUpdateDate: true, showCategory: true, showTag: true, // 信息插入位置配置 teleport: { selector: "h1", position: "after", className: "h1-bottom-info", }, }, /* ----- 文章提示系统 ----- */ // 老旧文章提示 articleTopTip: (frontmatter) => { const longTime = 6 * 30 * 24 * 60 * 60 * 1000; // 半年时间阈值 if (frontmatter.date && Date.now() - new Date(frontmatter.date).getTime() > longTime) { return { type: "warning", text: "文章发布较早,内容可能过时,阅读注意甄别。" }; } }, /* ----- 评论系统配置 ----- */ comment: { provider: "twikoo", // 使用 Twikoo 评论系统 options: CommentData // 评论配置数据 }, /* ----- 公告系统配置 ----- */ notice: { enabled: true, // 启用公告 title: "公告", // 公告标题 initOpen: true, // 初始是否打开 duration: 3000, // 自动关闭延迟 mobileMinify: false, // 移动端是否最小化 reopen: true, // 是否可重新打开 useStorage: true, // 使用本地存储记忆状态 twinkle: true, // 闪烁提示 position: "center" // 显示位置 }, /* ----- Vite 插件配置 ----- */ vitePlugins: { sidebarOption: { collapsed: true, // 侧边栏自动折叠 ignoreWarn: true // 忽略警告 }, autoFrontmatter: true, // 自动生成 Frontmatter permalinkOption: { notFoundDelayLoad: 1000 // 延迟加载 }, // Frontmatter 自动生成选项 autoFrontmatterOption: { exclude: { title: true, date: true }, // 排除字段 transform: (frontmatter) => { if (!frontmatter.coverImg) { // 随机选择封面图 return { ...frontmatter, coverImg: CoverImgList[Math.floor(Math.random() * CoverImgList.length)] }; } } } }, /* ----- Markdown 扩展 ----- */ markdown: { config: (md) => { md.use(timeline); // 启用时间线插件 md.use(groupIconMdPlugin); // 启用代码组图标插件 } }, /* ----- 分析统计 ----- */ siteAnalytics: [ { provider: "google", // Google Analytics options: { id: "G-YDTSLB09YH" } } // 可添加其他统计平台... ], /* ----- 打赏功能 ----- */ appreciation: { position: "doc-after", // 显示在文档下方 options: { icon: "weChatPay", // 图标类型 expandTitle: "打赏支持", collapseTitle: "下次一定", content: `<img src='/img/alipay/1.png'><img src='/img/alipay/2.png'>`, expand: false // 默认折叠 } }, /* ----- 内容分类系统 ----- */ category: { enabled: true, // 启用分类卡片 limit: 8, // 每页显示数量 autoPage: false // 自动翻页 }, tag: { enabled: true, // 启用标签卡片 limit: 21 // 每页显示数量 }, /* ----- 精选文章 ----- */ topArticle: { enabled: true, limit: 5, dateFormat: "yyyy-MM-dd hh:mm:ss" // 日期格式 }, /* ----- 主题尺寸 ----- */ themeSize: "large", /* ----- 文档分析 ----- */ docAnalysis: { createTime: "2021-10-19", // 站点创建时间 statistics: { provider: "busuanzi" // 使用不蒜子统计 }, wordCount: true, // 启用字数统计 readingTime: true, // 启用阅读时长 appendInfo: [{ // 附加信息 key: "index", label: "序号", value: "One" }] }, /* ----- 安全控制 ----- */ riskLink: { enabled: true, // 启用风险链接提示 whitelist: [ // 白名单 "https://onedayxyy.cn/", /https:\/\/github.com/ ], blacklist: [] // 黑名单 }, /* ----- 文章底部声明 ----- */ articleBottomTip: () => ({ type: "tip", title: "声明", text: `<p>作者:One</p> <p>版权:此文章版权归 One 所有...</p>` }) }); /* ==================== VitePress 主配置 ==================== */ export default defineConfig({ extends: teekConfig, // 继承 Teek 主题配置 base: "/", // 基础路径 title: "One", // 站点标题 description: description, // 站点描述 cleanUrls: true, // 简洁URL lastUpdated: true, // 显示最后更新时间 lang: "zh-CN", // 语言设置 head: HeadData as HeadConfig[], // 头部配置 /* ----- Markdown 配置 ----- */ markdown: { lineNumbers: true, // 显示行号 image: { lazyLoading: true // 图片懒加载 }, // 自定义容器标签 container: { tipLabel: "提示", warningLabel: "警告", dangerLabel: "危险", infoLabel: "信息", detailsLabel: "详细信息" } }, /* ----- 主题配置 ----- */ themeConfig: { logo: "/favicon.ico", // 网站图标 // 各种标签文本 darkModeSwitchLabel: "主题", sidebarMenuLabel: "菜单", returnToTopLabel: "返回顶部", lastUpdatedText: "上次更新时间", // 大纲配置 outline: { level: [2, 4], // 显示层级 label: "本页导航" // 标题 }, // 文档页脚 docFooter: { prev: "上一页", next: "下一页" }, nav: Nav, // 导航栏 socialLinks: SocialLinks, // 社交链接 search: { provider: "local" // 本地搜索 } }, /* ----- Vite 构建配置 ----- */ vite: { plugins: [ groupIconVitePlugin(), // 代码组图标插件 // 图片压缩配置 viteImagemin({ gifsicle: { optimizationLevel: 7 }, mozjpeg: { quality: 70 }, pngquant: { quality: [0.7, 0.8] }, svgo: { plugins: [/*...*/] } }), llmstxt(), // LLMS 文本处理 RssPlugin(RSS) // RSS 插件 ], server: { open: true // 开发服务器自动打开 }, build: { chunkSizeWarningLimit: 35000, // 块大小警告限制 assetsInlineLimit: 4096, // 资源内联阈值 minify: "terser", // 压缩工具 // Rollup 配置 rollupOptions: { plugins: [ // 打包分析插件 visualizer({ filename: "./stats.html", open: false, gzipSize: true }) ], output: { manualChunks: { theme: ["vitepress-theme-teek"] // 手动分块 } } }, // Terser 压缩选项 terserOptions: { compress: { drop_console: true, // 移除 console drop_debugger: true, // 移除 debugger pure_funcs: ["console.info"], // 保留的 console 方法 dead_code: true, // 移除死代码 arrows: true, // 转换箭头函数 unused: true, // 移除未使用代码 join_vars: true, // 合并变量声明 collapse_vars: true // 内联变量 }, format: { comments: false, // 移除注释 beautify: false, // 禁用美化 preamble: "/* 项目版本 1.0.0 */" // 文件头注释 }, mangle: { toplevel: true, // 混淆顶级变量 properties: false // 不混淆属性名 } } } } });

配置文件结构解析

  1. 基础部分

    • 导入核心配置函数和主题配置
    • 加载各种功能插件和自定义模块
  2. Teek 主题配置

    • 包含了博客系统的所有核心功能配置
    • 细分为多个子系统:代码块、文章元数据、评论、公告等
    • 提供了丰富的内容展示和交互功能
  3. VitePress 主配置

    • 继承并扩展主题配置
    • 设置基础站点信息
    • 配置 Markdown 解析行为
    • 定义主题的视觉元素和交互
  4. Vite 构建配置

    • 集成各种构建优化插件
    • 配置开发服务器行为
    • 详细的打包优化设置

主要特点

  1. 模块化设计

    • 将不同功能配置分离到独立模块
    • 通过导入方式组织复杂配置
  2. 全面功能

    • 从内容展示到用户交互的全套功能
    • 包含 SEO、统计分析等高级功能
  3. 高度可定制

    • 几乎所有功能都有开关和配置选项
    • 支持自定义回调函数
  4. 性能优化

    • 内置图片压缩、代码分割等优化
    • 生产环境专用的代码压缩配置

这个配置文件展示了一个功能完善的 VitePress 博客系统的完整配置方案,涵盖了从内容管理到性能优化的各个方面。


以下是添加了详细注释的完整配置文件,保留了所有原始注释和配置项,并增加了必要的说明:

typescript
/* ================ 模块导入部分 ================ */ // VitePress 核心配置函数 import { defineConfig } from "vitepress"; // Teek 主题配置函数 import { defineTeekConfig } from "vitepress-theme-teek/config"; // 代码组图标插件(包含Markdown和Vite两部分) import { groupIconMdPlugin, groupIconVitePlugin, } from "vitepress-plugin-group-icons"; // 时间线插件(用于在Markdown中生成时间线) import timeline from "vitepress-markdown-timeline"; // 从本地模块导入配置 import { Nav } from "./ConfigHyde/Nav"; // 导航栏配置 import type { HeadConfig } from "vitepress"; // 头部配置类型 import { HeadData } from "./ConfigHyde/Head"; // 页面头部元数据 import { SocialLinks } from "./ConfigHyde/SocialLinks"; // 社交链接配置 import { CommentData } from "./ConfigHyde/Comment"; // 评论系统配置 import { Wallpaper } from "./ConfigHyde/Wallaper"; // 文章封面图配置 // 构建相关插件 import { visualizer } from "rollup-plugin-visualizer"; // 打包分析可视化工具 import viteImagemin from "vite-plugin-imagemin"; // 图片压缩插件 import llmstxt from "vitepress-plugin-llms"; // LLM相关文本处理 import { RSSOptions, RssPlugin } from "vitepress-plugin-rss"; // RSS订阅功能 /* ================ 全局常量定义 ================ */ const baseUrl = "https://onedayxyy.cn"; // RSS订阅配置 const RSS: RSSOptions = { title: "One Blog", // 订阅标题 baseUrl, // 网站基础URL copyright: "Copyright 2021-2025 One Blog", // 版权声明 }; // 网站描述(数组会被自动转为逗号分隔的字符串) const description = [ "欢迎来到 vitepress-theme-teek 使用文档", "Teek 是一个基于 VitePress 构建的主题,是在默认主题的基础上进行拓展,支持 VitePress 的所有功能、配置", "Teek 拥有三种典型的知识管理形态:结构化、碎片化、体系化,可以轻松构建一个结构化知识库,适用个人博客、文档站、知识库等场景" ].toString(); // 封面图片列表(从Wallpaper模块导入) const CoverImgList = Wallpaper; /* ================ Teek主题配置 ================ */ const teekConfig = defineTeekConfig({ /* ----- 主题开关配置(已注释,保留备用)----- */ // teekHome: true, // 是否使用tk主题,teekHome 和 teekTheme 默认都是 true,可以注释 // teekTheme: true, // 是否使用tk主题,teekHome 和 teekTheme 默认都是 true,可以注释 // vpHome: true, // 是否使用vp主题,是否启用 VitePress 首页风格,支持 teekHome 和 vpHome 同时存在。 /* ----- 交互反馈配置 ----- */ // 返回顶部成功回调 backTopDone: (TkMessage) => TkMessage.success({ message: "已达到顶部🎉", // 成功提示消息 duration: 3000, // 提示显示时长(ms) }), // 跳转到评论区成功回调 toCommentDone: (TkMessage) => TkMessage.success({ message: "已达到评论区✨", duration: 3000, }), /* ----- 代码块增强配置 ----- */ codeBlock: { disabled: false, // 是否禁用增强代码块功能 collapseHeight: 700, // 代码超出指定高度(px)自动折叠 copiedDone: (TkMessage) => TkMessage.success("代码已复制 🎉"), // 复制成功回调 }, /* ----- 分页配置 ----- */ page: { pageSize: 16, // 每页显示的文章数量 }, /* ----- 文章展示配置 ----- */ post: { coverImgMode: "full", // 封面图模式:full(全图)/default(默认) showMore: true, // 是否显示"阅读更多"按钮 }, /* ----- 作者信息 ----- */ author: { name: "One", link: "https://gitee.com/onlyonexl/vitepress-theme-teek-one-public" }, /* ----- 文章元数据配置 ----- */ articleAnalyze: { // 图片查看器配置 imageViewer: { hideOnClickModal: true // 点击遮罩层是否关闭图片查看器 }, showIcon: true, // 是否显示文章信息图标 dateFormat: "yyyy-MM-dd", // 日期显示格式 showInfo: true, // 是否显示文章信息区域 // 各项信息的显示控制 showAuthor: true, // 作者 showCreateDate: true, // 创建日期 showUpdateDate: true, // 更新日期(仅在文章页显示) showCategory: true, // 分类 showTag: true, // 标签 // 将文章信息插入到一级标题下方 teleport: { selector: "h1", // 选择器 position: "after", // 插入位置 className: "h1-bottom-info", // 自定义类名 }, }, /* ----- 文章过期提示 ----- */ articleTopTip: (frontmatter) => { const tip: Record<string, string> = { type: "warning", // 提示类型 text: "文章发布较早,内容可能过时,阅读注意甄别。", }; // 计算半年时间阈值(ms) const longTime = 6 * 30 * 24 * 60 * 60 * 1000; // 如果文章日期超过半年则显示提示 if ( frontmatter.date && Date.now() - new Date(frontmatter.date).getTime() > longTime ) return tip; }, /* ----- 评论系统配置 ----- */ comment: { provider: "twikoo", // 使用Twikoo评论系统 options: CommentData, // 评论系统配置数据 }, /* ----- 公告系统配置 ----- */ notice: { enabled: true, // 是否启用公告功能 title: "公告", // 公告标题 initOpen: true, // 初始是否展开 duration: 3000, // 自动关闭延迟(ms),0表示不自动关闭 mobileMinify: false, // 移动端是否自动最小化 reopen: true, // 关闭后是否可重新打开 useStorage: true, // 是否使用localStorage记忆状态 twinkle: true, // 是否显示闪烁提示 position: "center", // 弹窗位置 }, /* ----- Vite插件配置 ----- */ vitePlugins: { // 侧边栏配置 sidebarOption: { // initItems: false, // 是否初始化侧边栏项目(注释后保持文档和目录样式一致) collapsed: true, // 是否自动折叠侧边栏 // ignoreList: ["nav"], // 忽略的文件夹/文件列表 ignoreWarn: true, // 是否忽略警告 }, autoFrontmatter: true, // 是否自动生成Frontmatter // 永久链接配置 permalinkOption: { notFoundDelayLoad: 1000, // 延迟加载时间(ms) }, // Frontmatter自动生成选项 autoFrontmatterOption: { exclude: { title: true, date: true }, // 排除自动生成的字段 transform: (frontmatter) => { // 如果已有封面图则跳过 if (frontmatter.coverImg) return; // 随机选择一张封面图 const coverImg = CoverImgList[Math.floor(Math.random() * CoverImgList.length)]; const transformResult = { ...frontmatter, coverImg }; return Object.keys(transformResult).length ? transformResult : undefined; }, }, }, /* ----- Markdown扩展配置 ----- */ markdown: { config: (md) => { md.use(timeline); // 启用时间线插件 md.use(groupIconMdPlugin); // 启用代码组图标插件 }, }, /* ----- 网站统计分析 ----- */ siteAnalytics: [ { provider: "google", // Google Analytics options: { id: "G-YDTSLB09YH", // 统计ID }, }, // 备用统计服务(已注释) // { // provider: "baidu", // options: { // id: "******", // }, // }, // { // provider: "umami", // options: { // id: "******", // src: "**", // }, // }, ], /* ----- 打赏功能配置 ----- */ // 文章下方打赏配置(当前启用) appreciation: { position: "doc-after", // 显示位置 options: { // buttonHtml: `<button>测试按钮</button>`, // 自定义按钮HTML icon: "weChatPay", // 图标类型 expandTitle: "打赏支持", // 展开状态标题 collapseTitle: "下次一定", // 折叠状态标题 content: `<img src='/img/alipay/1.png'><img src='/img/alipay/2.png'>`, // 打赏内容HTML expand: false, // 默认是否展开 }, }, // 侧边栏打赏配置(已注释备用) // appreciation: { // position: "aside-bottom", // options: { // title: `<span style="color: var(--tk-theme-color)">欢迎打赏支持</span>`, // content: `<img src='/appreciation/WeChatPay.jpg'><img src='/appreciation/Alipay.jpg'>`, // }, // }, // 文章分享功能 articleShare: { enabled: true }, // 是否启用文章分享 /* ----- 分类系统配置 ----- */ category: { enabled: true, // 是否启用分类卡片 limit: 8, // 每页显示分类数量 autoPage: false, // 是否自动翻页 pageSpeed: 4000, // 翻页间隔(ms) }, // 标签系统配置 tag: { enabled: true, // 是否启用标签卡片 limit: 21, // 每页显示标签数量 autoPage: false, // 是否自动翻页 pageSpeed: 4000, // 翻页间隔(ms) }, /* ----- 精选文章配置 ----- */ topArticle: { enabled: true, // 是否启用精选文章 limit: 5, // 显示数量 autoPage: false, // 是否自动翻页 pageSpeed: 4000, // 翻页间隔(ms) dateFormat: "yyyy-MM-dd hh:mm:ss", // 日期格式 }, // 主题尺寸设置 themeSize: "large", // 大尺寸主题 /* ----- 文档统计配置 ----- */ docAnalysis: { createTime: "2021-10-19", // 站点创建时间 statistics: { provider: "busuanzi", // 使用不蒜子统计 }, wordCount: true, // 是否统计字数 readingTime: true, // 是否计算阅读时长 // 信息覆盖配置(已注释) // overrideInfo: [ // { key: "lastActiveTime", value: (_, currentValue) => `${currentValue}前` }, // { key: "totalPosts", label: "文章总数目" }, // ], // 附加信息 appendInfo: [{ key: "index", label: "序号", value: "One" }], }, /* ----- 安全链接控制 ----- */ riskLink: { enabled: true, // 是否启用风险链接提示 whitelist: [ // 白名单规则 "https://onedayxyy.cn/", "https://vp.teek.top/", "https://teek.seasir.top/", /https:\/\/github.com/, /https:\/\/giee.com/ ], blacklist: [], // 黑名单规则 }, /* ----- 文章底部声明 ----- */ articleBottomTip: () => ({ type: "tip", // 提示类型 title: "声明", // 标题 text: `<p>作者:One</p> <p>版权:此文章版权归 One 所有,如有转载,请注明出处!</p> <p style="margin-bottom: 0">链接:可点击右上角分享此页面复制文章链接</p>` }), }); /* ================ VitePress主配置 ================ */ export default defineConfig({ extends: teekConfig, // 继承Teek主题配置 base: "/", // 部署基础路径 title: "One", // 网站标题 description: description, // 网站描述 cleanUrls: true, // 是否使用简洁URL(无.html后缀) lastUpdated: true, // 是否显示最后更新时间 lang: "zh-CN", // 网站语言 head: HeadData as HeadConfig[], // 头部元数据 /* ----- Markdown解析配置 ----- */ markdown: { lineNumbers: true, // 是否显示行号 image: { lazyLoading: true, // 是否启用图片懒加载 }, // 自定义容器标签 container: { tipLabel: "提示", warningLabel: "警告", dangerLabel: "危险", infoLabel: "信息", detailsLabel: "详细信息", }, }, /* ----- 主题外观配置 ----- */ themeConfig: { logo: "/favicon.ico", // 网站图标 // 各种标签文本 darkModeSwitchLabel: "主题", sidebarMenuLabel: "菜单", returnToTopLabel: "返回顶部", lastUpdatedText: "上次更新时间", // 大纲配置 outline: { level: [2, 4], // 显示2-4级标题 label: "本页导航", // 大纲标题 }, // 文档页脚文本 docFooter: { prev: "上一页", next: "下一页", }, nav: Nav, // 导航栏配置 socialLinks: SocialLinks, // 社交链接 search: { provider: "local", // 本地搜索 }, // 编辑链接配置(已注释) // editLink: { // text: "在 GitHub 上编辑此页", // pattern: "https://gitee.com/SeasirHyde/teek-hyde/edit/main/docs/:path", // }, }, /* ----- Vite构建配置 ----- */ vite: { plugins: [ // 代码组图标Vite插件 groupIconVitePlugin(), // 图片压缩配置 viteImagemin({ gifsicle: { optimizationLevel: 7 }, // GIF优化等级 mozjpeg: { quality: 70 }, // JPEG质量 pngquant: { quality: [0.7, 0.8] }, // PNG质量范围 svgo: { plugins: [ { name: "removeViewBox" }, // 移除SVG viewBox { name: "removeEmptyAttrs", active: false }, // 不移除空属性 ], }, }), llmstxt(), // LLM文本处理插件 RssPlugin(RSS), // RSS插件 ], server: { // 开发服务器配置(已注释) // host: "127.0.0.1", // 监听地址 // port: 5173, // 端口号 // strictPort: true, // 端口占用是否直接退出 open: true, // 是否自动打开浏览器 }, build: { chunkSizeWarningLimit: 35000, // 块大小警告阈值(bytes) assetsInlineLimit: 4096, // 资源内联阈值(bytes) minify: "terser", // 使用Terser压缩 rollupOptions: { plugins: [ // 打包分析插件 visualizer({ filename: "./stats.html", // 输出文件路径 open: false, // 是否自动打开报告 gzipSize: true, // 显示gzip大小 brotliSize: true, // 显示brotli大小 }), ], output: { manualChunks: { theme: ["vitepress-theme-teek"], // 手动分块 }, }, }, // Terser压缩选项 terserOptions: { compress: { drop_console: true, // 移除console drop_debugger: true, // 移除debugger pure_funcs: ["console.info"], // 保留的console方法 dead_code: true, // 移除死代码 arrows: true, // 转换箭头函数 unused: true, // 移除未使用代码 join_vars: true, // 合并变量声明 collapse_vars: true, // 内联变量 }, format: { comments: false, // 移除注释 beautify: false, // 禁用美化 preamble: "/* 项目版本 1.0.0 */", // 文件头部注释 }, mangle: { toplevel: true, // 混淆顶级变量 properties: false, // 不混淆属性名 }, }, }, }, });

关键改进说明:

  1. 完整保留:所有原始配置项(包括注释掉的)都完整保留,确保后续可以方便地取消注释使用

  2. 结构化注释

    • 使用等号分隔线划分大模块
    • 每个配置节前添加标题注释
    • 保留所有原始注释并补充说明
  3. 详细说明

    • 对每个配置项的功能和参数都添加了说明
    • 特别说明了已注释配置的用途
    • 对回调函数、正则表达式等特殊用法添加了注释
  4. 格式统一

    • 注释风格保持一致
    • 重要配置项使用单独注释块
    • 相关配置分组注释
  5. 特殊处理

    • 保留所有条件判断和回调函数逻辑
    • 对正则表达式白名单等特殊配置添加说明
    • 保留所有HTML片段和动态内容

这个注释版本既保持了原始配置的完整性,又通过系统化的注释使配置结构更加清晰易懂,便于后续维护和调整。

本文作者:任浪漫

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!