在我的课程里,我给大家推荐的模拟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'
},
...
// 共五项
]}
*/
其他的配置类似,具体参考官网文档。
所有需要做拦截的接口都在这里进行配置,依次写就行。
热门评论
不用自搭,有现成的像 http-server, 用npm安装直接返回json
我想请问一下,使用mock.js怎么使用CORS
可以问一下与axios-mock-adapter有区别吗