V0.2.2发布:修复多行格式输出问题

版本: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 运行时版本更新检查,支持多种提示样式和自定义回调