博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
react学习系列3 使用koa-router模拟后台接口
阅读量:6574 次
发布时间:2019-06-24

本文共 1190 字,大约阅读时间需要 3 分钟。

当用create-react-app创建好项目,启动后会自动打开 localhost:3000。

我们希望当访问 localhost:3000/api/todo 会向后台发起一个请求,拿到我们想要的 json 数据。并渲染到前台。
这样的话需要先创建一个后台服务器。我们使用NodeJS的 express 或 koa 服务器框架。下面以 koa 为例。

实现方法如下:

  1. 安装koa和koa-router。注意我的当前版本是最新的 koa2.3.0 和 koa-router7.2.1

    yarn add koa koa-router

  2. 项目根目录创建一个mock目录,并新建一个server.js

    内容如下:

var Koa = require('koa');var Router = require('koa-router');var app = new Koa();var router = new Router();router.get('/', function (ctx, next) {  console.log('say');  ctx.body = 'hello koa !'});// 加前缀router.prefix('/api');// 模拟json数据var todo = require('./todo.js')router.get('/todos', function (ctx, next) {  console.log('--todo--')  ctx.body = todo});// 开始服务并生成路由app.use(router.routes())   .use(router.allowedMethods());app.listen(4000);

todo.js

module.exports = [    {        title: 'title1',    },    {        title: 'title2',    }]
  1. package.json 添加代理信息

    "proxy": "http://localhost:4000",
    这样当我们在create-react-app的代码里调用fetch('api/todos') 会被代理执行http://localhost:4000/api/todos
    并且在 script 节点下添加
    "mock": "node ./mock/server.js"
    这样执行 yarn mock 就启动了这个后台服务

  2. 在 react 中比如入口的 index.js 中添加测试代码。

    我们使用 ,发起客户端请求。

fetch('/api/todos')  .then(res => res.json())  .then(res => {    console.log(res)  })

参考:

转载地址:http://iwwno.baihongyu.com/

你可能感兴趣的文章
svn 代码管理工具
查看>>
【Go语言】【7】GO语言的切片
查看>>
【斗医】【14】Web应用开发20天
查看>>
Python回顾与整理11:面向对象编程
查看>>
DVWA系列之16 文件包含漏洞挖掘与防御
查看>>
mysql忧化参数
查看>>
MariaDB 10.0.X中,动态列支持 JSON 格式来获取数据。
查看>>
【习惯的力量】之五让拖延见鬼去吧
查看>>
SFB 项目经验-24-为持久聊天室-查询或者增加成员
查看>>
配套自测连载(一)
查看>>
Oracle高水位High Water Mark(HWM)简介
查看>>
“神秘”的加密指纹
查看>>
统一沟通-技巧-11-Lync-联盟-1-MSN
查看>>
职业、管理和招聘——近期的一些碎碎念
查看>>
SecureCRT session 的迁移
查看>>
【COCOS CREATOR 系列教程之二】脚本开发篇&事件监听、常用函数等示例整合
查看>>
Python工程师求职比中秘籍——获取offer有这么多门道
查看>>
Exchange工具07—Http watch
查看>>
SCCM2012 R2实战系列之四:初始化配置
查看>>
win7做wifi服务器
查看>>