版本:0.2.2 | 协议:MIT | 依赖:Vite >=5.0.0 <8.0.0
写在前面
v0.2.2 的主题是:修复 v0.2.1 多行格式输出的两处格式缺陷。
v0.2.1 将 generateRouter 的路由对象从单行紧凑格式改为多行展开格式,但引入了两个格式问题:属性之间缺少逗号分隔符,以及非首行缩进多了一层。这两个问题会导致生成的 router.config.ts
语法错误或格式不统一。v0.2.2 对此进行了修复。
本版重点:
| 能力 | 一句话说明 | 你需要做什么 |
|---|---|---|
| 多行格式逗号缺失修复 | 路由对象属性之间正确添加逗号分隔符 | 自动生效 |
| 多行格式缩进修复 | 路由对象属性行缩进统一为一层 tab | 自动生效 |
升级方式:修改 devDependencies 中版本号为 ^0.2.2。无 Breaking Changes,完全向后兼容。
一、Bug 修复
1.1 多行格式属性间逗号缺失
问题:v0.2.1 的多行格式输出中,路由对象属性之间未添加逗号,导致生成的 router.config.ts 语法错误。
原因:serializeRoute 函数在拼接属性行时仅用换行符 \n 连接,未在属性末尾添加逗号。
// 修复前:属性间缺少逗号,语法错误
{path: '/pages/index/index'name: 'pagesIndexIndex'meta: { title: '首页', isTab: true }
}// 修复后:属性间正确添加逗号
{path: '/pages/index/index',name: 'pagesIndexIndex',meta: { title: '首页', isTab: true }
}
1.2 多行格式缩进多一层
问题:v0.2.1 的多行格式输出中,路由对象非首行属性缩进多了一个 tab,格式不统一。
原因:generator.ts 中对 serializeRoute 输出的行做缩进处理时,首行加 \t,非首行加 \t\t,但 serializeRoute 内部已为属性行添加了 \t 缩进,导致非首行实际缩进为三个 tab。
// 修复前:非首行多一层缩进
{path: '/pages/index/index',name: 'pagesIndexIndex',meta: { title: '首页', isTab: true }},// 修复后:缩进统一
{path: '/pages/index/index',name: 'pagesIndexIndex',meta: { title: '首页', isTab: true }
},
二、修复后的完整输出示例
/*** @plugin generate-router* @date 2026-06-21 22:26:14* @version 0.2.2*/import type { RouteConfig } from '@meng-xi/uni-router'/*** 路由配置列表* @description 由 pages.json 自动生成*/
export const routes: RouteConfig[] = [{path: '/pages/index/index',name: 'pagesIndexIndex',meta: { title: '首页', isTab: true }},{path: '/pages/user/profile',name: 'pagesUserProfile',meta: { title: '个人中心', requireAuth: true }}
]export default routes
三、内置插件全景
v0.2.2 共包含 15 个实用插件,覆盖构建优化的各个方面:
| 插件 | enforce | 描述 |
|---|---|---|
assetManifest |
post | 构建后生成资源映射清单,支持 Vite/Webpack/自定义格式、按入口分组和运行时注入 |
autoImport |
pre | 自动导入,支持预设映射、通配符('*')、目录扫描、Vue 模板自动导入和类型声明生成 |
buildProgress |
- | 终端实时构建进度条,支持 bar / spinner / minimal |
bundleAnalyzer |
post | 构建产物体积分析,支持 JSON/HTML 报告、gzip 计算和阈值告警 |
compressAssets |
post | 构建产物压缩,支持 gzip / brotli / both,并发压缩和统计报告 |
copyFile |
post | 构建完成后复制文件或目录,支持增量复制 |
envGuard |
post | 环境变量校验,支持类型检查、范围验证、自定义规则和运行时守卫 |
faviconManager |
post | 管理网站图标链接注入和文件复制 |
generateRouter |
post | 根据 pages.json 自动生成路由配置与类型声明(uni-app) |
generateVersion |
post | 自动生成版本号,支持文件输出和全局变量注入 |
htmlInject |
post | HTML 内容注入,支持多种位置、选择器定位、条件注入和安全过滤 |
imageOptimizer |
post | 图片优化压缩与格式转换,支持 WebP/AVIF 转换、SVG 优化、并发处理 |
loadingManager |
post | 全局 Loading 状态管理,支持请求拦截、防抖、过渡动画 |
proxyManager |
- | 开发代理管理,支持环境切换、规则文件、请求日志、延迟模拟和响应修改 |
versionUpdateChecker |
post | 运行时版本更新检查,支持多种提示样式和自定义回调 |