前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >vue 开发常用工具及配置四:推荐一个 mock 工具

vue 开发常用工具及配置四:推荐一个 mock 工具

作者头像
LIYI
发布2020-01-14 18:08:57
6550
发布2020-01-14 18:08:57
举报
文章被收录于专栏:艺述论专栏艺述论专栏

本文大约 1000 字。


在系统原型设计阶段,或后端接口不足备的情况下,如何验证模型信息的完整性?此时 mock 是一个不错的选择。

一般开发者可能倾向于直接写后端接口,哪怕只是返回假数据。之前作者也是这么想的,后来在试用了 mock 工具之后,想法转变了。

首先,全局安装 json-server:

代码语言:javascript
复制
yarn global add json-server

然后在 /go 目录下创建一个 db.json 文件,内容如下:

代码语言:javascript
复制
{
 "posts": [
   { "id": 1, "title": "json-server", "author": "typicode" },
   { "id": 2, "title": "json-server2", "author": "typicode2" }
 ],
 "comments": [
   { "id": 1, "body": "some comment", "postId": 1 }
 ],
 "profile": { "name": "typicode" }
}

接着在 /go 目录下以如下命令启动 json-server:

代码语言:javascript
复制
json-server -p 8080 --watch db.json

这里的 8080 端口,是为了与之前使用过的端口保持一致。

在前端 vue 组件里,这样调用:

代码语言:javascript
复制
axios.get('/api/posts/1')
 .then(function (response) {
   console.log("result",response);
 })

运行项目,就可以在控制台看到打印的结果。

直接访问接口地址也可以,例如:http://localhost:3000/posts,或http://localhost:3000/posts/1。

json-server 的妙处在于,它允许使用一个 json 文件定义数据,并且修改 json 内容,json-server 不需要重启,接口内容自动更有变化;更方便的地方还在于,像 /posts、/posts/1 这样的 Restful API 接口不需要手工定义,json-server 会根据 db.json 的内容自动按约定构建接口列表。

在 db.json 有模型 posts,所以以下接口都存在:

代码语言:javascript
复制
GET    /posts
GET    /posts/1
POST   /posts
PUT    /posts/1
PATCH  /posts/1
DELETE /posts/1

还支持参数过滤:

代码语言:javascript
复制
GET /posts?title=json-server&author=typicode
GET /posts?id=1&id=2
GET /comments?author.name=typicode

还有分页:

代码语言:javascript
复制
GET /posts?_page=7
GET /posts?_page=7&_limit=20

排序:

代码语言:javascript
复制
GET /posts?_sort=views&_order=asc
GET /posts/1/comments?_sort=votes&_order=asc

等等。更多内容在这里查看:

https://github.com/typicode/json-server

源码

https://git.code.tencent.com/shiqiaomarong/vue-go-rapiddev-example/tags/v20191231

参考链接

https://yarnpkg.com/zh-Hans/docs/cli/global

https://github.com/typicode/json-server

[专栏]基于 vue+go 如何快速进行业务迭代?

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2019-12-31,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 艺述论 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档