添加页面
添加教程需要的页面
根据上一节课的布局,我们需要用到三个页面,英雄页面,局内道具页面,召唤师技能页面 所以我们使用umi g page新建我们需要的三个页面。
$ umi g page herocreate pages/hero.jscreate pages/hero.css✔ success$ umi g page itemcreate pages/item.jscreate pages/item.css✔ success$ umi g page summonercreate pages/summoner.jscreate pages/summoner.css✔ success
页面创建成功,启动umi开发服务器(这是我们最后一次演示,如何启动umi开发服务器)
$ yarn startCompiling✔ success webpack compiled in 3s 754msDONE Compiled successfully in 3761ms 19:40:39App running at:- Local: http://localhost:8000/ (copied to clipboard)- Network: http://192.168.199.195:8000/
启动完成,我们可以通过直接访问路由的方式,访问页面。 http://localhost:8000/summoner 、http://localhost:8000/hero、http://localhost:8000/item
添加页面,以下方法任选其一即可
方法一 手动添加页面
在 ./src/pages/ 下新建js文件,如新建 ./src/pages/list/index.js 或者 ./src/pages/list.js ,输入
export default function() {return (<div><h1>List work!</h1></div>);}
这是最简单的一个页面了,当然如果你需要为你的页面添加样式,那就可以在头部引入。
方法二 使用umi g page
在项目根目录,执行
$ umi g page itemcreate src/pages/item.jscreate src/pages/item.css✔ success
会自动新建,页面的js文件和css文件。这是一个比较通用的模版,你要使用dva的功能,就要在这里面再增加一些文件和方法。官方提供的,要面向是否使用dva的情况,所以模版比较简化。
方法三 使用oni-cli创建页面
这个呢,是我自己写的。你们有什么特定的需求可以到这个项目的iss上提。 全局安装oni-cli
$ yarn global add oni-cli或者$ npm i -g oni-cli
使用oni-cli创建页面
$ oni g page herogenerate index hero
将会创建
.└── hero├── components│ ├── Example.js│ └── Example.less├── index.js├── index.less├── models│ └── hero.js└── services└── hero.js
会创建umi with dva项目,需要的文件,和自动在页面中使用model 以下展示index.js
import { connect } from 'dva';import styles from './index.less';function App({hero,dispatch}) {const { text,list } = hero;return (<div className={styles.normal}><h2>{text}</h2></div>);}export default connect(({hero})=>({hero}))(App);
所以看你自己需要的文件数,选择不同的添加页面方式。
注意:oni-cli也有初始化项目的能力,和create-umi相同,但是新建的模版是我个人喜好的目录结构,这里还是推荐新建项目,使用官方的cli ——- create-umi,毕竟有些新的能力,官方的工具跟进的比较快,而且官方的写法也比较好
