【React全家桶入门之二】项目搭建
2017-08-24 16:17
232 查看
开始之前
你需要有一台安装好node环境(包括npm)的电脑,并且有一个趁手的代码编辑器(或IDE),如果没有,请使用Webstorm作为你的第一款(也许是最后一款)开发工具。注意:请安装node 6.3及以上版本!
服务端搭建
在引言中说了,我们要做一个管理系统少不了接口和数据。这里我们借助json-server这个工具快速搭建后台管理系统的服务端程序:
首先执行
npm i json-server -g把json-server作为全局工具安装
新建一个项目目录(后面文中所有的路径根目录都表示该项目目录)
在根目录中执行
npm init初始化一个npm项目(会有一些项目配置需要你输入,一直敲回车就行了)
新建
/server目录用于放置服务端的文件
新建
/server/db.json文件作为服务端的数据库文件
在
/server/db.json文件中写入以下数据:
{ "user": [ { "id": 10000, "name": "一韬", "age": 25, "gender": "male" }, { "id": 10001, "name": "张三", "age": 30, "gender": "female" } ], "book": [ { "id": 10000, "name": "JavaScript从入门到精通", "price": 9990, "owner_id": 10000 }, { "id": 10001, "name": "Java从入门到放弃", "price": 1990, "owner_id": 10001 } ] }1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
最后在
/server目录执行
json-server db.json -w -p 3000
现在打开浏览器,访问网址
http://localhost:3000,可以看到如下界面:
点击Routes下面的user会跳转到
http://localhost:3000/user,可以看到我们之前在db.json中写入的user数组:
[ { "id": 10000, "name": "一韬", "age": 25, "gender": "male" }, { "id": 10001, "name": "张三", "age": 30, "gender": "female" } ]1
2
3
4
5
6
7
8
9
10
11
12
13
14
1
2
3
4
5
6
7
8
9
10
11
12
13
14
访问
http://localhost:3000/book同上
我们在db.json文件中写入了标准的JSON格式数据,这个json里有一个user数组和一个book数组,这就告诉json-server,我们的数据库里有一个名为user的”表”和一个名为book的”表”,并且表里的数据为xxx,然后json-server就会启动服务器,并且以每个”表”为单位为我们注册一系列标准的RESTFull形式的API接口(路由),以user为例:
[GET] /user #获取用户列表的接口
[GET] /user/:id #获取单个用户的接口
[POST] /user #新增用户的接口
[PUT] /user/:id #修改用户的接口
[DELETE] /user/:id #删除用户的接口
在获取列表的接口中也可以追加查询参数,来限定查询的结果,比如:
查询所有男性用户: /user?gender=male
查询年龄大于等于20并且小于等于29的用户:/user?age_gte=20&age_lte=29
此外还有分页、排序、匹配、关系查询等查询方式,可以在这里查看更多。
至此我们就拥有了一套强大的数据接口。
客户端搭建
搞定了服务端,就可以安心地写客户端代码了~在根目录执行
npm i roadhog -g来安装roadhog,这是一个快速且功能强大的react项目搭建工具
新建
/src目录,用于存放客户端代码
新建
/public目录,用户存放项目的静态文件(图片等)
新建
/src/index.js和
/public/index.html两个文件,分别作为应用的入口文件和页面的入口文件
执行
npm i react react-dom react-router -S,安装基本的react依赖
在
/src/index.js中写入以下代码
import React from 'react'; import ReactDOM from 'react-dom'; ReactDOM.render(( <div>Hello React!</div> ), document.getElementById('app'));1
2
3
4
5
6
1
2
3
4
5
6
在
/public/index.html里写入以下代码(webstorm中只需要输入!并按下tab建就可以快速完成一个html页面模板)
<!doctype html> <html lang="zh-cn"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, user-scalable=no, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0"> <meta http-equiv="X-UA-Compatible" content="ie=edge"> <title>Hello React</title> </head> <body> <!-- 这个div必须和index.js里的render方法里传入的第二个参数保持一致 --> <div id="app"></div> <!-- roadhog背后会把你的代码从入口文件开始打包成一个index.js文件 --> <script src="./index.js"></script> </body> </html>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
上面都搞定之后就可以执行
roadhog server来启动我们的React应用了!
启动成功会自动打开
http://localhost:8000,如果你看到页面里显示了”Hello react!”,说明你的项目搭建已经大功告成了~
后续每次我们都需要执行:
cd server && json-server db.json -w -p 3000
roadhog server
来开始我们的工作流,我们可以把这两个指令写入package.json的scripts中,来节约我们的脑细胞:
"scripts": { "server": "cd server && json-server db.json -w -p 3000", "dev": "roadhog server" }1
2
3
4
1
2
3
4
然后,就可以执行:
npm run server
npm run dev
来开始开发工作(两个指令要在两个终端中执行)。
相关文章推荐
- 【React自制全家桶】一、Webstrom+React+Ant Design+echarts搭建react项目
- 从壹开始微服务 [ DDD ] 之二 ║ DDD入门 & 项目结构粗搭建
- 【Facebook的UI开发框架React入门之二】开发环境搭建(iOS平台)-goodmao
- React入门教程之Hello World以及环境搭建详解
- GitHub入门之二 参与一个项目编写
- react-music React全家桶项目,精品之作!
- MyBatis从入门到精通和MAVEN搭建SPRING+MyBatis项目
- React-Music 全家桶项目,精品之作!
- 使用React全家桶搭建一个后台管理系统
- Webpack+React项目入门——入门及配置Webpack
- 搭建简单的React项目
- React Native从入门到放弃之环境搭建
- React Native 入门(二) - Hello World 项目初始化
- 详解使用React全家桶搭建一个后台管理系统
- 004-Spring boot 快速入门-项目搭建与启动、SpringBootApplication
- WebGIS课程:GIS基础入门配项目(专题图制作及openlayers+geoserver+udig搭建地图网站)
- npm搭建React项目
- javaWeb项目(SSH框架+AJAX+百度地图API+Oracle数据库+MyEclipse+Tomcat)之二 基础Hibernate框架搭建篇
- 自己动手搭建React开发环境之二Babel
- React入门及环境搭建