在前后端分离的这种工作模式下,分工明确,各司其职。前端负责展示数据,后端提供数据。然而,在这种过程中对于接口的规范 需要提前制定好。例如根据规范提前模拟数据,这个时候就比较麻烦的。
json-server快速搭建
JsonServer这个比较NB了,它可以快速搭建服务端环境,创建json文件,便于调用。
json-server可以直接把一个json文件托管成一个具备全RESTful风格的API,并支持跨域、jsonp、路由订制、数据快照保存等功能的 web 服务器。
操作步骤
(1) 命令行进入项目目录demo,执行下面的命令。
$ npm install -S json-server
(2) 在项目根目录下,新建一个 JSON 文件db.json。
简单总结:db.json第一层key值代码接口地址,请求该地址会得到对应的json数据
{
"posts": [
{ "id": 1, "title": "json-server", "author": "typicode" }
],
"users": [
{ "id": 1, "name": "jack", "age": 12 }
]
}
(3) 打开package.json,在scripts字段添加一行。
"scripts": {
"server": "json-server db.json",
"test": "..."
}
配置"server": "json-server db.json" 使用json-server启动服务对应下一步的:npm run server
(4) 命令行下执行下面的命令,启动服务。
$ npm run server
(5)请求查看结果:
http://127.0.0.1:3000/posts发出GET请求
http://127.0.0.1:3000/posts/1发出GET请求
(6)向http://127.0.0.1:3000/users发出POST请求。向对应数据添加数据。
接口转发
配合mock.js更复杂的使用。
为什么不在浏览器中使用mockjs
通过阅读 mockjs 的官方文档可以发现,它其实是作为一个独立的 mock server 存在的,就算没有json server,一样可以反馈数据,但是由于以下一些缺点,让我只能把它作为一个数据构造器来使用:
不能跨域使用
与某些框架中的路由处理逻辑冲突
无法定义复杂的数据结构,比如下面的数据结构,images 将会是字符串 [object object], 而非预想中的数组:












网友评论