umijs + antd 布局
一、安装umijs
-
找个地方建空目录
mkdir myapp && cd myapp
-
通过官方工具创建项目
Yarn create @umijs/umi-app
Copy: .editorconfig Write: .gitignore Copy: .prettierignore Copy: .prettierrc Write: .umirc.ts Copy: mock/.gitkeep Write: package.json Copy: README.md Copy: src/pages/index.less Copy: src/pages/index.tsx Copy: tsconfig.json Copy: typings.d.ts
-
安装依赖
yarn
yarn install v1.21.1 [1/4] 🔍 Resolving packages... success Already up-to-date. ✨ Done in 0.71s.
-
启动项目
yarn start
Starting the development server... ✔ Webpack Compiled successfully in 17.84s DONE Compiled successfully in 17842ms 8:06:31 PM App running at: - Local: http://localhost:8000 (copied to clipboard) - Network: http://192.168.12.34:8000
-
浏览器打开localhost:8000
二、实现antd-pro布局
-
umijs配置
Umi 在
.umirc.ts
或config/config.ts
中配置项目和插件,支持 es6。推荐两种配置方式二选一,.umirc.ts
优先级更高。 -
config/config.ts
文件import { defineConfig } from 'umi'; import routes from './routes'; export default defineConfig({ layout: { name: 'Ant Design Pro', logo: 'https://gw.alipayobjects.com/zos/rmsportal/KDpgvguMpGfqaHPjicRK.svg', // copy from pro site navTheme: 'dark', // Navigation menu theme primaryColor: '#1890ff', // Primary color of ant design layout: 'sidemenu', // Layout menu mode, side: right navigation, top: top navigation contentWidth: 'Fluid', // Content mode of layout, Fluid: fixed width 1200px, Fixed: adaptive fixedHeader: true, // Whether to fix header to top fixSiderbar: true, // Whether to fix navigation menu title: 'Mr.Yao', pwa: false, iconfontUrl: '' }, routes: routes })
-
config/routes.tx
export default [ { path: '/lover', component: '@/pages/lover', menu: { name: 'lover', icon: 'MenuFoldOutlined', flatMenu: false, hideInMenu: false, hideChildrenInMenu: false, }, } ];
-
创建
src/lover/index.tsx
import styles from './index.less'; export default function IndexPage() { return ( <div> <h1 className={styles.title}>Page index</h1> </div> ); }
-
效果