1. @uni-helper/vite-plugin-uni-manifest:清单文件处理
该插件专门用于处理 manifest.config.ts 配置文件,将其转换为 UniApp 所需的最终 manifest.json 文件。通过 TypeScript 配置支持,开发者可以获得更好的类型提示和配置验证。
2. @uni-helper/vite-plugin-uni-pages:智能路由生成
- 自动路由扫描 :自动扫描
src/pages目录结构,动态生成路由配置 - 分包支持:完整支持 UniApp 的分包路由配置
- 类型安全 :自动生成类型定义文件
src/types/uni-pages.d.ts,提供完整的 TypeScript 支持
3. @uni-helper/vite-plugin-uni-layouts:统一布局管理
提供完整的页面布局系统解决方案,支持:
- 统一的布局组件管理
- 灵活的布局切换机制
- 页面与布局的自动关联
4. @uni-helper/vite-plugin-uni-platform:平台检测与优化
- 平台感知:自动检测目标运行平台
- 编译优化:提供平台特定的构建优化策略
- 协同工作 :需要与
uni-pages插件配合使用,实现最佳效果
5. @dcloudio/vite-plugin-uni:核心构建插件
作为 UniApp 的官方核心构建插件,需要注意:
- 引入顺序:必须在所有 UniHelper 系列插件之后引入
- 代码混淆:提供强大的代码混淆能力
- 配置方式 :通过
vite.config.js中的terserOptions自定义 Terser 混淆配置
配置示例
javascript
// vite.config.js
export default {
plugins: [
// UniHelper 插件系列
uniManifest(),
UniPages({
exclude: ['**/components/**/**.*'],
routeBlockLang: 'json5', // 虽然设了默认值,但是vue文件还是要加上 lang="json5", 这样才能很好地格式化
// homePage 通过 vue 文件的 route-block 的type="home"来设定
// pages 目录为 src/pages,分包目录不能配置在pages目录下
subPackages: [
'src/pages-home',
'src/pages-message',
'src/pages-user',
'src/pages-work',
'src/pages-sub',
], // 是个数组,可以配置多个,但是不能为pages里面的目录
dts: 'src/types/uni-pages.d.ts',
}),
uniLayouts(),
uniPlatform(),
// 官方核心插件(必须最后引入)
uni()
],
build: {
terserOptions: {
// 自定义混淆配置
compress: {
drop_console: true
}
}
}
}
这套插件组合为 UniApp 开发提供了从配置管理、路由生成、布局系统到平台优化的完整解决方案,显著提升了开发效率和代码质量。