# 支持默认路由

uni-app Vue3 H5模式下支持默认路由。

# 如何使用

安装

pnpm add @plugin-light/vite-plugin-support-default-route -D

vite.config.ts 中添加如下设置:

import { defineConfig } from 'vite';
import { supportDefaultRouteVitePlugin } from '@plugin-light/vite-plugin-support-default-route';


export default defineConfig({
  plugins: [
    supportDefaultRouteVitePlugin()
  ],
});

更推荐在脚本中前置执行,如:

const { supportDefaultRoute } = require('@plugin-light/vite-plugin-support-default-route');

supportDefaultRoute({ root: process.cwd() });

# 原理

修改 @dcloudio/uni-h5-vite/dist/plugins/pagesJson.jsgeneratePagesRoute 方法中增加默认路由:

`{
  path: "/:catchAll(.*)*",
  redirect: '/',
  meta: {}
}`

之前:

function generatePagesRoute(pagesRouteOptions, config) {
  return pagesRouteOptions.map((pageOptions) => generatePageRoute(pageOptions, config));
}

现在:

function generatePagesRoute(pagesRouteOptions, config) {
  return [...pagesRouteOptions.map(pageOptions => generatePageRoute(pageOptions, config)), `{
  path: "/:catchAll(.*)*",
  redirect: '/',
  meta: {}
}`];
}

# 更新日志

点此查看

Last Updated: 2025/1/15 14:15:00