umi使用-umirc

.umirc.ts文件内容解析

作为umi框架中最重要的文件之一,.umirc.ts中提供的是一个配置对象;了解此对象的各个key的作用是至关重要的,本文先叙述了.umirc.ts文件的基本框架,然后对暴露出去的配置对象中的常见key逐个介绍。

1. .umirc.ts文件的基本框架

typescript 复制代码
import { defineConfig } from "umi";

export default defineConfig({
    routes: [
        {path: "/", component: "index"},
        {path: "/docs", component: "docs"},
    ],
    npmClient: "yarn",
    metas: [
        {
            name: "version", 
            content: "1.0.0",
        }
    ],
})

2. 配置对象中的其他重要字段

2.1 routes

用来定义应用的路由配置,是一个数组:Record<'path'|'components', string >

2.2 hash

是否给url添加一个哈希路由

2.3 dynamicImport

将应用配置成动态导入的行为

2.3.1 dynamicImport.loading

如果导入的耗时时间长就显示这个字段配置的组件

2.4 ignoreMomentLocale: boolean

针对第三方库moment的优化字段

2.5 proxy

自带的代理,例如:

ts 复制代码
"/api/v1": {
    target: "http://192.168.1.94:9999",
    changeOrigin: true,
}

2.6 meta

为入口文件,即index.html中注入meta信息:

ts 复制代码
metas: [
    {name: "version", content: "1.0.0"},
]

2.7 chainWebpack

可以在此字段中覆盖一些webpack的配置:

ts 复制代码
chainWebpack: (config, {webpack}) => {
    config.merge({...})
}

举个实际的例子,用来修改webpack的optimization配置:

ts 复制代码
  chainWebpack: (config, { webpack }) => {
    config.merge({
      optimization: {
        splitChunks: {
          cacheGroups: {
            commons: {
              name: 'commons',
              chunks: 'initial',
              minChunks: 2,
            },
          },
        },
      },
    });
  },

2.8 authAllowed

用来指定哪些页面不需要权限

ts 复制代码
authAllowed: ['/download'],

2.9 根目录页面

ts 复制代码
    path: '/',
    component: '@/pages/welcome/index.jsx',
相关推荐
烛衔溟3 小时前
TypeScript 接口的基本使用 —— 定义对象形状
前端·javascript·typescript
铁皮饭盒3 小时前
成为AI全栈 - 第3课:路由 RESTful Elysia 状态码 设计规范
前端·后端·全栈
顾昂_4 小时前
Web 性能优化完全指南
前端·面试·性能优化
IT乐手4 小时前
Claude Code + Qwen 的配置方法
javascript·claude
前端程序媛-Tian4 小时前
前端 AI 提效实战:从 0 到 1 打造团队专属 AI 代码评审工具
前端·人工智能·ai
支付宝体验科技4 小时前
Ant Design Pro v6.0.0 发布
前端
T畅N5 小时前
审批流设计器(前端)
前端·elementui·vue·html·流程图·js
AlunYegeer5 小时前
JAVA,以后端的视角理解前端。在全栈的路上迈出第一步。
java·开发语言·前端
IT_陈寒5 小时前
Redis这个内存杀手,差点让我们运维半夜追杀我
前端·人工智能·后端
子兮曰6 小时前
DeepSeek TUI:原生 Rust 打造的终端 AI 编码 Agent
前端·javascript·后端