- 第一步:安装json-server cnpm install json-server --save
- 第二步:在bulid目录下找到webpack.dev.conf.js
- 第三步:在const portfinder = require(‘portfinder’)后添加
//第一步
const express = require('express')
const app = express()//请求server
var appData = require('../data.json')//加载本地数据文件
var getNewsList = appData.getNewsList//获取对应的本地数据
var login = appData.login
var getPrice = appData.getPrice
var getOrderList = appData.getOrderList
var createOrder = appData.createOrder
var apiRoutes = express.Router()
app.use('/api', apiRoutes)//通过路由请求数据
- 第四步:找到devServer,在里面加上before()方法
//第二步找到devServer,在里面添加
before(app) {
app.get('/api/getNewsList', (req, res) => {
res.json({
errno: 0,
data: getNewsList
})//接口返回json数据,上面配置的数据seller就赋值给data请求后调用
}),
app.get('/api/login', (req, res) => {
res.json({
errno: 0,
data: login
})
}),
app.get('/api/getPrice', (req, res) => {
res.json({
errno: 0,
data: getPrice
})
}),
app.get('/api/createOrder', (req, res) => {
res.json({
errno: 0,
data: createOrder
})
}),
app.get('/api/getOrderList', (req, res) => {
res.json({
errno: 0,
data: getOrderList
})
})
}
- 第五步:提供一data.json数据(data.json如果没有数据,会报错This is probably not a problem with npm. There is likely additional logging output above.)
{
"getNewsList": [
{
"id": 1,
"title": "新闻条目1新闻条目1新闻条目1新闻条目1",
"url": "http://starcraft.com"
},
{
"id": 2,
"title": "新闻条目2新闻条目2新闻条目2新闻条目2",
"url": "http://warcraft.com"
},
{
"id": 3,
"title": "新闻条3新闻条3新闻条3",
"url": "http://overwatch.com"
},
{
"id": 4,
"title": "新闻条4广告发布",
"url": "http://hearstone.com"
}
],
"login": {
"username": "yudongdong",
"userId": 123123
},
"getPrice": {
"amount": 678
},
"createOrder": {
"orderId": "6djk979"
},
"getOrderList": {
"list": [
{
"orderId": "ddj123",
"product": "数据统计",
"version": "高级版",
"period": "1年",
"buyNum": 2,
"date": "2016-10-10",
"amount": "500元"
},
{
"orderId": "yuj583",
"product": "流量分析",
"version": "户外版",
"period": "3个月",
"buyNum": 1,
"date": "2016-5-2",
"amount": "2200元"
},
{
"orderId": "pmd201",
"product": "广告发布",
"version": "商铺版",
"period": "3年",
"buyNum": 12,
"date": "2016-8-3",
"amount": "7890元"
}
]
}
}