前端模拟数据,我时本身引入一个后端koa插件,本身让后端设置数据,发送一个api给前端html
用的是 react+webpack框架前端
首前后端建立数据 node
npm i koa koa-router -Dreact
建立一个server服务webpack
server.jses6
var app = require('koa')(); var router = require('koa-router')(); router.get('/', function *(next) { this.body = 'hello koa!' }); router.get('/api', function *(next) { this.body = 'test data' }); router.get('/api/1', function *(next) { this.body = 'test data 1' }); router.get('/api/2', function *(next) { this.body = { a: 1, b: '123' } }); app.use(router.routes()) .use(router.allowedMethods()); app.listen(3000);
而后用node 路径/server.js 开始koa后端web
后端服务开启成功npm
因此如今后端提供了几个api,拿/api/1 和/api/2来测试json
这里咱们须要用到webpack-dev-server这个插件,它能够为后端提供一个代理服务redux
npm i webpack webpack-dev-server -D
建立webpack.config.js配置文件
module.exports = {
devServer: { proxy: { '/api': { target: 'http://localhost:3000', secure: false } } }
}
这样能够让前端若是访问到 /api这个路径时,能直接转到
http://localhost:3000
这个服务器
如今能够来让前端接收数据了
首先咱们须要安装两个插件 npm i fetch es6-promise -S
接着咱们建立一个get方法
get.js
import 'whatwg-fetch' import 'es6-promise' export function get(url) { var result = fetch(url, { credentials: 'include', headers: { 'Accept': 'application/json, text/plain, */*' } }); return result; }
接着在data.js中将数据进行获取
import { get } from './get.js' export function getData() { var result1 = get('/api/1') result1.then(res => { return res.text() }).then(text => { console.log(text) }) var result2 = get('/api/2') result2.then(res => { return res.json() }).then(json => { console.log(json) }) }
而后再调用index.js中调用这个getData()就好了
import React from 'react'
import { render } from 'react-dom'
import { Provider } from 'react-redux'
import configureStore from './store/configureStore'
// import Hello from './containers/Hello';
import Tdd from './containers/Tdd'
const store = configureStore()
// 测试fetch的功能
import { getData } from './fetch/data.js' getData();
render(
// <Hello />,
<Provider store={store}>
<Tdd />
</Provider>,
document.getElementById('root')
)
看端口号 8080 调用,证实成功