1.安装

React社区提供了众多的脚手架,这里我们使用官方推荐的create-react-app

//安装脚手架
npm install -g create-react-app
//生成并运行项目
create-react-app my-app
cd my-app
npm start

注:create-react-app 脚手架默认隐藏 config 文件夹,需要通过

npm run eject
npm i

导出可配置的模板

2.服务端搭建

这里我们借助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
}
]
}
  • 最后在/server目录执行json-server db.json -w -p 8000

现在打开浏览器,访问网址http://localhost:8000

点击Routes下面的user会跳转到http://localhost:8000/user,可以看到我们之前在db.json中写入的user数组:

[
{
"id": 10000,
"name": "一韬",
"age": 25,
"gender": "male"
},
{
"id": 10001,
"name": "张三",
"age": 30,
"gender": "female"
}
]

访问http://localhost:8000/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

此外还有分页、排序、匹配、关系查询等查询方式,可以在这里查看更多

至此我们就拥有了一套强大的数据接口。

react 项目实战(一)创建项目 及 服务端搭建的更多相关文章

  1. [Java聊天室server]实战之五 读写循环(服务端)

    前言 学习不论什么一个稍有难度的技术,要对其有充分理性的分析,之后果断做出决定---->也就是人们常说的"多谋善断":本系列尽管涉及的是socket相关的知识,但学习之前,更 ...

  2. 创建APPID&&部署服务端教程

    创建APPID&&部署服务端 一.创建APPID 1.打开https://console.developers.google.com ,左击顶部Project,然后左击创建项目 2.输 ...

  3. react+redux教程(六)redux服务端渲染流程

    今天,我们要讲解的是react+redux服务端渲染.个人认为,react击败angular的真正“杀手锏”就是服务端渲染.我们为什么要实现服务端渲染,主要是为了SEO. 例子 例子仍然是官方的计数器 ...

  4. 创建配置中心服务端(Spring Cloud Config)

    创建配置中心服务端 创建好项目后添加配置文件内容 server.port=9004 spring.application.name=spring-cloud-config-server-01 #git ...

  5. Centos 6.5 pptpd服务端搭建过程

    首先检测有没有启用ppp和tun cat /dev/ppp cat /dev/net/tun 如果显示是这样的 cat: /dev/ppp: No such device or address cat ...

  6. Apereo CAS Server服务端搭建教程

    不说废话了,直接看搭建过程吧. 首先到下载源码,https://github.com/apereo/cas-overlay-template/tree/4.2 附上地址,本次版本为4.2,下载源码后如 ...

  7. FTP服务端 FTP服务端搭建教程

    FTP服务端搭建教程如下:一.需要准备以下工具:1.微型FTP服务端.2.服务器管理工具二.操作步骤:1.下载微型FTP服务端.(站长工具包可下载:http://zzgjb.iis7.com/ )2. ...

  8. python工业互联网监控项目实战5—Collector到opcua服务

    本小节演示项目是如何从连接器到获取Tank4C9服务上的设备对象的值,并通过Connector服务的url返回给UI端请求的.另外,实际项目中考虑websocket中间可能因为网络通信等原因出现中断情 ...

  9. SpringCloud系列二:Restful 基础架构(搭建项目环境、创建 Dept 微服务、客户端调用微服务)

    1.概念:Restful 基础架构 2.具体内容 对于 Rest 基础架构实现处理是 SpringCloud 核心所在,其基本操作形式在 SpringBoot 之中已经有了明确的讲解,那么本次为 了清 ...

随机推荐

  1. 使用Caliburn.Micro系列2:Convention

    CM中实现一个比较有意思的特性,就是智能匹配. 通常使用MVVM的写法:在匹配 View和ViewModel时会使用DataContext,在匹配数据属性时使用Binding,在匹配事件命令时使用Co ...

  2. Vue 点击事件怎么传递 this ?

    Part.1 问题 如何使上面的三个按钮单个点击后实现第一个按钮现在的样式呢? Part.2 思路 为当前点击的按钮添加一个 单独的类名,我的做法: .active { background: #3C ...

  3. centos7下配置tomcat开机启动

    配置tomcat的开机启动1> 在centos7的/etc/rc.d/rc.local中加入:(注意自己的路径)#java environment export JAVA_HOME=/usr/j ...

  4. JavaSE-19 IO

    学习要点 File类操作文件和目录的属性 字节流读写文件 字符流读写文件 字节流读写二进制文件 文件操作 1  文件的定义 文件可认为是相关记录或放在一起的数据的集合.文件一般保存在硬盘.U盘.光盘. ...

  5. PHP:Invalid argument supplied for foreach()错误原因及解决办法

    在php中使用foreach循环遍历时报Invalid argument supplied for foreach()错误,是因为循环的数据不是一个有效的数组. 因此我们只要在foreach之前判断一 ...

  6. 阿里云报错Redirecting to /bin/systemctl restart sshd.service

    转:http://blog.csdn.net/caijunfen/article/details/70599138 云服务器 ECS Linux CentOS 7 下重启服务不再通过 service  ...

  7. [转]Delphi调用cmd并取得输出文本

    //转自http://www.oschina.net/code/snippet_136241_3980 1 procedure CheckResult(b: Boolean); begin if no ...

  8. Go:冒泡排序

    package main import "fmt" func BubbleSort(arr *[5]int) { fmt.Println("排序前:", *ar ...

  9. python各种推导式分析

    推导式comprehensions(又称解析式),是Python的一种独有特性.推导式是可以从一个数据序列构建另一个新的数据序列的结构体. 共有三种推导,在Python2和3中都有支持: 列表(lis ...

  10. nginx配置文件+本地测试请求转发到远程服务器+集群

    1 在本地测试1 众所周知,nginx是一个反向代理的服务器,主要功能即为实现负载均衡和动静分离.在别的我别的文章有详细的nginx(Windows)相关介绍教程. 由于自己安装的nginx在本地的计 ...