更新记录

1.0.1(2026-03-19) 下载此版本

修复空包问题

0.0.1(2026-03-19) 下载此版本

首次发布


平台兼容性

uni-app(4.45)

Vue2 Vue3 Chrome Safari app-vue app-nvue Android iOS 鸿蒙
- - - - - - -
微信小程序 支付宝小程序 抖音小程序 百度小程序 快手小程序 京东小程序 鸿蒙元服务 QQ小程序 飞书小程序 小红书小程序 快应用-华为 快应用-联盟
- - - - - - - - - - - -

uni-app x(4.45)

Chrome Safari Android iOS 鸿蒙 微信小程序
- - - -

uni-route-types-generator(路由自动生成 + TS 类型提示)

pages.json 自动解析成:

  • 路由跳转函数:如 navigateToHome() / redirectToLogin() / switchTabIndex()
  • TypeScript 类型声明:自动生成 .d.ts,在 VSCode / HBuilderX 里获得路径与参数的自动补全、类型校验

兼容性

  • Vue2 / Vue3:均可用(生成的是工具函数与声明文件,与框架无关)
  • uni-app / uni-app x:均可用(只依赖 pages.json 结构;生成代码仅调用 uni.navigateTo 等标准 API)
  • 纯 JS 实现:无原生依赖,可直接在 HBuilderX 中运行(Node 环境)

快速开始

1)安装

下载本插件到项目:uni_modules/uni-route-types-generator/

2)准备配置(可选)

在项目根目录新建 route-types.config.js

module.exports = {
  pagesJsonPath: './pages.json',
  outDir: './src/generated',
  routePrefix: '',
  funcNameStyle: 'camel', // camel | pascal
  includeApis: ['navigateTo', 'redirectTo', 'reLaunch', 'switchTab'],
  // 参数类型策略:
  // - "auto": 默认所有 query 值为 string | number | boolean(更稳妥)
  // - "strict": 仅允许你在 routeParams 中声明的参数
  paramsMode: 'auto',
  // 可手工声明某些页面的参数类型(推荐:核心页面补齐)
  routeParams: {
    // 'pages/detail/index': { id: 'string', from: '"home"|"search"' }
  }
}

3)一键生成

在项目根目录执行(HBuilderX 终端 / 系统终端都行):

node ./uni_modules/uni-route-types-generator/cli/generate.js

生成结果默认输出到:src/generated/

  • routes.gen.ts:路由函数(可直接 import 使用)
  • routes.d.ts:类型声明(自动补全与类型提示来源)

使用示例

import { navigateTo, navigateToHome, navigateToDetail } from '@/generated/routes.gen'

// 通用:传路径 + 参数(有类型提示)
navigateTo('pages/detail/index', { id: '1001' })

// 便捷:直接调用页面函数(更高效)
navigateToHome()
navigateToDetail({ id: '1001', from: 'home' })

生成规则说明(可自定义)

  • 函数命名:默认按路径生成,如 pages/user/profile -> navigateToUserProfile
  • 前缀routePrefix 可用于统一加前缀(如 go -> goUserProfile
  • 参数类型
    • paramsMode: "auto":未声明的参数类型默认 string | number | boolean
    • routeParams:按页面 path 手工声明参数类型(生成 .d.ts 时会使用)

源协议

MIT License,见 LICENSE

隐私、权限声明

1. 本插件需要申请的系统权限列表:

2. 本插件采集的数据、发送的服务器地址、以及数据用途说明:

插件不采集任何数据

3. 本插件是否包含广告,如包含需详细说明广告表达方式、展示频率:

许可协议

MIT License

Copyright (c) 2026

Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:

The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.

暂无用户评论。