继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

如何使用mock.js取代json-server模拟Ajax请求

fishenal
关注TA
已关注
手记 5
粉丝 1.8万
获赞 379

在我的课程里,我给大家推荐的模拟Ajax请求的方式采用了自己搭建服务器,访问json文件的方式,这种方式比较复杂,而且容易产生这样那样的问题,所以我在这里强烈推荐使用mock.js来取代json-server或者express。

mock.js的官网是:http://mockjs.com/

mock.js实现的思路跟json-server不同,它实现的方法是,拦截ajax请求,并返回随机数据。

在vue.js 项目里,遵循如下步骤使用mock.js:

第一步,安装mock.js

项目目录下安装

(c)npm install mockjs --save
第二步,项目里引用mock.js

src目录下创建一个mock目录,并在里面创建一个mock.js文件,用来随机产生数据
图片描述

在mock.js里 引入 mockjs,并写一个拦截接口并返回数据的方法
图片描述

同时不要忘了在main.js里引用mock/mock.js 文件,全局引用
图片描述

第三步,设置接口以及随机返回数据
// 基本用法
// /getNewsList/ 是匹配的接口名正则
// list|5 表示返回五项的数组
Mock.mock(/getNewsList/, {
    'list|5': [{
        'url': '@url',
        'title': '@ctitle(5, 20)'
    }]
})

// 这段配置的结果是,在vue项目里请求包含 'getNewsList' 字段的接口,会被拦截到后面的随机数据格式
// 这段的返回值是 
/* { list: [ {
    url: 'http://xxx',
    title: 'xxx'
},
...
// 共五项
]}
*/

其他的配置类似,具体参考官网文档。
所有需要做拦截的接口都在这里进行配置,依次写就行。

打开App,阅读手记
20人推荐
发表评论
随时随地看视频慕课网APP

热门评论

不用自搭,有现成的像 http-server, 用npm安装直接返回json

我想请问一下,使用mock.js怎么使用CORS

可以问一下与axios-mock-adapter有区别吗

查看全部评论