umi学习:路由

本文介绍了umi框架中路由的使用方法,包括约定式路由、配置式路由、动态路由、参数获取、路由跳转和嵌套路由。重点讲解了3.x版本的特性,如通过[]包裹来匹配动态路由,并提供了不同方式的路由跳转示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题导向

umi路由如何使用?如何传递参数?配置式路由如何编写?404页面?

如果你都有了答案,可以忽略本文章,或去umi学习地图寻找更多答案

注意

2.x版本和3.x版本是有一些区别的,这里使用的是3.x版本


约定式路由

重点: umi会根据src下pages的文件结构自动生成路由

可以在src下.umi文件夹 → core → routes.ts 文件中查看

如下目录
在这里插入图片描述
自动生成路由:src → .umi → core → routes.ts

const routes = [
    {
   
   
      "path": "/",
      "component": require('C:/Users/PC/Desktop/umi/src/.umi/plugin-layout/Layout.tsx').default,
      "routes": [
        {
   
   
          "path": "/",
          "component": require('@/layouts/index.js').default,
          "routes": [
            {
   
   
              "path": "/",
              "exact": true,
              "component": require('@/pages/index.js').default
            },
            {
   
   
              "path": "/user",
              "exact": true,
              "component": require('@/pages/user/index.js').default
            },
            {
   
   
              "path": "/user/:userid",
              "exact": true,
              "component": require('@/pages/user/[userid]/index.js').default
            }
          ]
        }
      ]
    }
  ];

配置路由

自己手动配置路由,不使用自动生成的路由

可以在.umirc.ts中的routes 写,也可以抽离

import {
   
    defineConfig } from 'umi';
const route = require('./src/routes'
<think>我们正在回答用户关于UMI框架的学习指南、使用教程和入门文档的问题。根据提供的引用内容,我们可以整合信息并给出一个清晰的指南。引用[1]和引用[2]都介绍了Umi框架的基本情况,它是一个基于React的企业级前端应用框架,提供了丰富的功能和插件,支持快速构建高性能的前端应用。引用[3]则提到了使用umi搭建框架的几种脚手架选项。我们将按照以下步骤组织回答:1.介绍Umi框架及其特点2.快速入门:如何创建一个Umi项目并运行3.核心概念和功能:路由、数据流、插件等4.进阶学习:生态项目、最佳实践5.学习资源推荐同时,我们会在末尾生成相关问题。注意:所有独立公式(如果有的话)需要使用$$...$$,行内数学表达式使用$...$,但本问题涉及前端框架,可能较少使用数学公式。但为了遵循指令,如果出现变量等,我们会使用正确格式。开始回答:</think>### UMI框架学习指南与使用教程 UMI是一个基于React的企业级前端应用框架,提供开箱即用的开发工具和最佳实践,特别适合构建单页面应用(SPA)、多页面应用(MPA)和中后台系统。以下是系统化的学习路径: #### 一、基础入门 1. **环境准备** - 安装Node.js(建议v16+) - 安装包管理工具:`npm install -g yarn` 2. **项目初始化** ```bash # 创建项目目录 mkdir my-umi-app && cd my-umi-app # 使用脚手架初始化(引用[1]) npx umi init # 安装依赖 yarn install # 启动开发服务器 yarn dev ``` 访问`http://localhost:8000`查看效果 3. **核心概念** - **目录结构**(典型示例): ``` ├── config/ # 配置文件 ├── src/ # 源码目录 │ ├── pages/ # 路由组件(约定式路由) │ └── app.tsx # 运行时配置 └── package.json ``` - **约定式路由**:在`src/pages`下创建`index.tsx`即自动映射为首页路由[^2] #### 二、核心功能实践 1. **路由管理** - 动态路由:创建`src/pages/users/$id.tsx`实现`/users/123`路由 - 嵌套路由:通过`_layout.tsx`文件定义布局[^2] 2. **数据流管理** 集成Dva状态管理(引用[1]): ```jsx // models/user.js export default { state: { list: [] }, reducers: { updateList(state, { payload }) { return { ...state, list: payload }; } } } ``` 3. **插件系统**(引用[3]) 在`.umirc.ts`中配置: ```typescript export default { plugins: ['@umijs/plugins/dist/dva'], // 启用Dva插件 dva: { immer: true } // 插件配置 }; ``` #### 三、进阶开发 1. **性能优化** - 动态导入:`() => import('./Component')`实现代码分割 - 静态资源CDN:通过`chainWebpack`配置外部资源 2. **微前端集成** 使用`@umijs/plugin-qiankun`: ```typescript export default { qiankun: { master: { apps: [{ name: 'app1', entry: '//localhost:7001' }] } } }; ``` #### 四、学习资源推荐 1. **官方文档** - 中文文档:[Umi官方文档](https://umijs.org/) - 项目地址:[GitCode镜像](https://gitcode.com/gh_mirrors/um/umi)(引用[1]) 2. **生态工具** - **Umi UI**:可视化页面生成工具 - **Umi Request**:统一请求库(引用[1]) - **Ant Design Pro**:企业级模板(引用[3]) 3. **实战教程** - [Umi框架使用详细教程demo](https://example.com/umi-tutorial)(引用[2]) - 脚手架类型选择:`app`(基础项目)/`ant-design-pro`(中后台模板)/`library`(组件库)(引用[3]) > 提示:调试时可使用`yarn umi debug`查看详细配置解析过程
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值