我们在开发项目中通常会涉及与后端接口联接的问题,这时候如果能够写一个简单的服务器,你请求真实的接口url,只需要给手机设置一个代理,就返回你设置的假数据。这样你就可以完全抛开其他依赖的顾虑,可以像正常情况一样开发、校验结果,而不是依赖写死在代码里的各种假逻辑(这样做也会为后面的开发带来一些隐患)。
安装生成器
$ npm install express-generator -g生成项目
$ express mock-server进入项目并安装依赖
$ cd mock-server && npm install启动项目
$ npm start端口默认3000 localhost:3000
在已有项目上创建假数据 根据express创建相关文件;
$ express + 文件名安装express的相关插件; 搭建假数据会需要一个工具包:mock.js; 地址: http://mockjs.com
$ 安装模块:npm i mockjs在app.js中引入mockjs;
// 引入相关模块 const express = require('express'); const router = express.Router(); const Mock = require('mockjs') // 使用中间件 app.use('/api/list', listRouter); app.use('/api/detail', detailRouter); // 暴露 module.exports = app; 配置router; // 引入相关模块 var express = require('express'); var router = express.Router(); const Mock = require('mockjs') // 请求列表页所有商品 router.get('/', function(req, resp, next) { let goodList = Mock.mock({ "res_code|1": [200, 200, 200, 200, 200, 200, 200, 201], "res_body": { "list|10": [ { "id|+1": 1, "title": "@ctitle( 10, 20 )", "img": "@image('200x100', @color, #FFF, png, @word)", "price": "@float(100,1000,2,2)" } ] } }) resp.json(goodList); }); module.exports = router; 使用 // 引入相关模块 var express = require('express'); var router = express.Router(); const Mock = require('mockjs') /* 取id. */ router.get('/', function(req, resp, next) { let id = req.query.id; console.log(req.query) let detail = Mock.mock({ "id": id, "title": "@ctitle( 10, 20 )", "img": "@image('200x100', @color, #FFF, png, @word)", "price": "@float(100,1000,2,2)" }) resp.json(detail) }); module.exports = router;搭建好数据后把地址(localhost:3000)添加到项目里使用(跨域,需要设置cros或者代理proxy)。
