Umi框架入门笔记-创建一个新项目

本文介绍了如何快速上手Umi框架,包括环境准备、使用官方脚手架创建项目、安装依赖、启动项目、配置修改、部署发布等步骤。Umi是一个强大的前端框架,其.umi目录用于存放临时文件,.umirc.ts用于配置项目,dist目录为构建产出。同时,文章还讲解了路由配置和项目目录结构,帮助开发者理解Umi的基本工作流程。

快速上手

官方教程介绍

环境准备

确保 node 版本是 10.13 或以上。

脚手架

先找个地方建个空目录。

通过官方工具创建项目,

npx @umijs/create-umi-app

安装依赖

npm install

项目目录

.umi 临时文件

.umi 临时目录是整个 Umi 项目的发动机,入口文件、路由等等都在这里,这些是由 umi 内部插件及三方插件生成的。

通常会在 .umi 下看到以下目录,

+ .umi

        + core # 内部插件生成

        + pluginA # 外部插件生成

        + presetB # 外部插件生成

        + umi.ts # 入口文件

临时文件是 Umi 框架中非常重要的一部分,框架或插件会根据代码生成临时文件,这些原来需要放在项目里的脏乱差的部分都被藏在了这里。

可以在这里调试代码,但不要在 .git 仓库里提交,因为每次启动 umi 时都会被删除并重新生成。

启动项目

npm start

在浏览器里打开 http://localhost:8000/,能看到以下界面,

修改配置

默认的脚手架内置了 @umijs/preset-react,包含布局、权限、国际化、dva、简易数据流等常用功能。比如想要 ant-design-pro 的布局,编辑 .umirc.ts 配置 layout: {},并且需要安装 @ant-design/pro-layout。 

import { defineConfig } from 'umi';

export default defineConfig({
  nodeModulesTransform: {
    type: 'none',
  },
  layout: {},
  routes: [
    { path: '/', component: '@/pages/index' },
  ],
  fastRefresh: {},
});

 不用重启 npm start,webpack 会在背后增量编译,过一会就可以看到以下界面,

部署发布

构建

npm run build

本地验证

 发布之前,可以通过 serve 做本地验证,

npm install serve -g

安装完成后启动

serve ./dist

访问 http://localhost:3000,正常情况下应该是和执行 npm start 时是一致的。

部署

本地验证完,就可以部署了。你需要把 dist 目录部署到服务器上。

目录结构 

一个基础的 Umi 项目大致是这样的,

.

├── package.json

├── .umirc.ts

├── .env

├── dist

├── mock

├── public

└── src

   ├── .umi

   ├── layouts/index.tsx

   ├── pages

   ├── index.less

   └── index.tsx

   └── app.ts

package.json

包含插件和插件集,以 @umijs/preset-@umijs/plugin-umi-preset- 和 umi-plugin- 开头的依赖会被自动注册为插件或插件集。

.umirc.ts

配置文件,包含 umi 内置功能和插件的配置。

.env

环境变量。

比如:

PORT=8888

COMPRESS=none

dist 目录

执行 umi build 后,产物默认会存放在这里。

mock 目录

存储 mock 文件,此目录下所有 js 和 ts 文件会被解析为 mock 文件。

public 目录

此目录下所有文件会被 copy 到输出路径。

/src 目录

.umi 目录

临时文件目录,比如入口文件、路由等,都会被临时生成到这里。不要提交 .umi 目录到 git 仓库,他们会在 umi dev 和 umi build 时被删除并重新生成。

layouts/index.tsx

约定式路由时的全局布局文件。

pages 目录

所有路由组件存放在这里。

app.ts

运行时配置文件,可以在这里扩展运行时的能力,比如修改路由、修改 render 方法等。

路由

在 Umi 中,应用都是单页应用,页面地址的跳转都是在浏览器端完成的,不会重新请求服务端获取 html,html 只在应用初始化时加载一次。所有页面由不同的组件构成,页面的切换其实就是不同组件的切换,你只需要在配置中把不同的路由路径和对应的组件关联上。

配置路由

 在配置文件.umirc.ts中通过 routes 进行配置,格式为路由信息的数组。

例如增加了/index路由 :

import { defineConfig } from 'umi';

export default defineConfig({
  nodeModulesTransform: {
    type: 'none',
  },
  layout: {},
  routes: [
    { path: '/', component: '@/pages/index' },
    { path: '/index', component: 'index' },
  ],
  fastRefresh: {},
});

配置 location 和 path 匹配后用于渲染的 React 组件路径。可以是绝对路径,也可以是相对路径,如果是相对路径,会从 src/pages 开始找起

如果指向 src 目录的文件,可以用 @,也可以用 ../。比如 component: '@/layouts/basic',或者 component: '../layouts/basic',推荐用前者。

<think>首先,用户的问题是:“我想创建一个使用TypeScript和umi框架的项目 请问如何使用TypeScript创建umi框架项目” 根据系统级指令: - 所有行内数学表达式必须使用 $...$ 格式,但在这个问题中没有数学内容,所以不需要。 - 独立公式必须使用 $$...$$ 格式,但这里没有公式。 - LaTeX语法正确:确保任何数学表达式的格式正确。 - 使用中文回答。 - 生成相关问题:在回答结束后添加相关问题。 - 回答中引用的段落末尾自然地添加引用标识,例如:[^1] - 回答结构清晰,帮助用户逐步解决问题,保证真实可靠。 用户引用了几个参考内容: - 引用[1]: 关于Umi脚手架创建项目,默认是TypeScript,但可以手动改后缀或用旧版脚手架选择JavaScript。 - 引用[2]: 关于使用umi v3及以上版本,需要Node 10.13或以上。 - 引用[3]: 关于umi框架项目搭建,包括app脚手架支持选择TypeScript。 - 引用[4]: 关于Umi框架的介绍和安装。 用户的问题是创建使用TypeScript和umi框架的项目,所以我需要基于这些引用提供指导。 关键点: - Umi脚手架默认创建TypeScript项目(引用[1])。 - 创建项目后,TypeScript配置已包含(引用[2])。 - Umi支持TypeScript(引用[3])。 步骤: 1. 确保环境:Node.js版本10.13或以上(引用[2])。 2. 安装Umi脚手架:使用create-umi。 3. 创建项目:运行create-umi命令,选择模板(如app),并确保使用TypeScript。 4. 项目结构:创建后,项目文件是.ts或.tsx格式。 5. 运行项目:启动开发服务器。 详细步骤: - 安装Node.js:确保版本符合要求。 - 安装create-umi:通过npm或yarn。 - 运行create-umi:选择项目类型(如app),语言选择TypeScript(或默认就是)。 - 进入项目目录,安装依赖,启动开发。 从引用[1]:创建完项目后,默认是TypeScript,可以通过手动改后缀,但既然用户要TypeScript,不需要改。 引用[3]提到:app脚手架支持选择是否启用TypeScript。 所以,在创建项目时,可以选择启用TypeScript。 回答结构: - 清晰步骤:1,2,3... 帮助用户逐步操作。 - 使用中文。 - 结束时生成相关问题。 - 在引用内容末尾添加引用标识。 生成相关问题: - 基于主题:TypeScript、umi框架、项目创建、配置等。 - 例如: 1. 如何配置TypeScript在umi项目中? 2. umi框架支持哪些TypeScript特性? 3. 如何添加路由或插件到umi TypeScript项目? 确保回答真实可靠:基于引用和一般知识。 最终回答: 1. 介绍所需环境。 2. 安装脚手架。 3. 创建项目步骤。 4. 启动项目。 5. 添加引用标识。 6. 生成相关问题。</think>### 如何使用TypeScript创建Umi框架项目 以下是基于Umi官方文档和最佳实践的详细步骤,帮助您快速创建一个使用TypeScript的Umi框架项目。Umi一个可扩展的企业级前端应用框架,默认支持TypeScript,无需额外配置即可开箱即用[^1][^3]。整个过程简单高效,只需确保您的开发环境满足要求。 #### 步骤 1: 准备开发环境 - **安装Node.js**:Umi v3及以上版本要求Node.js版本在10.13或以上(推荐使用LTS版本)。 下载地址:[Node.js官网](https://nodejs.org/) 验证安装:在终端运行 `node -v` 和 `npm -v`,确认版本符合要求[^2]。 - **安装包管理工具**:推荐使用npm或yarn(如未安装yarn,可通过 `npm install -g yarn` 安装)。 #### 步骤 2: 安装Umi脚手架 - 通过npm全局安装create-umi工具: ```bash npm install create-umi -g ``` 或使用yarn: ```bash yarn global add create-umi ``` 这会将Umi脚手架添加到系统路径,方便创建项目[^1][^4]。 #### 步骤 3: 创建TypeScript项目 - 运行脚手架命令并选择模板: ```bash create-umi ``` 在交互式命令行中: 1. 选择项目类型:输入 `app`(通用项目模板,支持TypeScript)[^3]。 2. 选择语言:输入 `TypeScript`(默认已选中,无需手动修改文件后缀)[^1][^3]。 3. 按提示输入项目名称(如 `my-umi-ts-project`)。 - 脚手架会自动生成项目结构,所有文件均为 `.ts` 或 `.tsx` 格式(例如 `src/pages/index.tsx`),TypeScript配置已内置[^2]。 #### 步骤 4: 安装依赖并启动项目 - 进入项目目录: ```bash cd my-umi-ts-project ``` - 安装依赖: ```bash npm install # 或使用 yarn ``` - 启动开发服务器: ```bash npm start # 或使用 yarn start ``` 项目将在 `http://localhost:8000` 运行。Umi会自动处理TypeScript编译和热更新。 #### 步骤 5: 验证TypeScript支持 - 打开 `src/pages/index.tsx` 文件,添加一个TypeScript类型示例: ```typescript interface User { name: string; age: number; } const user: User = { name: "Umi User", age: 25 }; console.log(user); ``` - 保存文件后,浏览器控制台将输出日志,无错误即表示TypeScript集成成功。 #### 常见问题解决 - **TypeScript报错**:如果遇到类型错误,运行 `npm run lint` 检查并修复(Umi内置了ESLint和TypeScript规则)[^2]。 - **旧版本问题**:如使用旧版create-umi,确保语言选择TypeScript;新版(v3+)已默认支持[^1][^3]。 - **插件扩展**:需添加antd或dva等插件时,修改 `.umirc.ts` 配置文件(例如添加 `plugins: ['@umijs/plugin-dva']`)并重装依赖[^4]。 通过以上步骤,您已成功创建一个Umi + TypeScript项目。Umi的路由系统、插件机制和构建优化均无缝支持TypeScript,可提升开发效率和代码质量[^4]。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值