时间:2021-05-25
首先安装 nodemon ,如果是全局安装,那么所有的项目都可以使用mock服务
npm install nodemon
再安装express-mockjs
npm i -D express-mockjs
接下来按照以下的步骤来
第一步 在项目根目录下建立api-interface文件,再建立一个文件夹叫mocks,这里面放json或者js都可以,然后再在mocks同级目录下建立app.js文件
第二步编写app.js
第三部 在mocks文件中编写一个叫test的json文件,文件中代码如下
然后写入
/** * 测试接口 * * @url /test-demo * * 详细的说明 * uid: userID * name: username * email: 邮件 */{ "code": 0, "result|5": [ { "uid|+1": 1, "name": "@name", "email": "@email" } ]}第四步 启动 app.js 脚本如下
node api-interface/app.js
点击点击,链接如图
mock服务效果图,如图:
第四部,再新建一个js文件,文件名称是user,文件代码如下
/** * 用户页面 - 用户信息接口 * * @url user?uid=233 * */module.exports = function (req) { var uid = req.query.uid; if (!uid) { return { code: -1, msg: 'no uid', } } return { code: 0, data: { "uid": +uid, "name": "@name", "age|20-30": 1, "email": "@email", "date": "@date", }, };};第五步 按ctrl—+c退出
然后再执行
node api-interface/app.js
效果图如下
其中,注意的细节说明一下
req.query.uid; 是你地址栏参数,相当于是 GET 方式的参数。
req.body.uid; 是你POST的参数。
这个是 express 的语法,可以直接查 express 文档的。
每次修改,都要手动启动非常麻烦,推荐用插件自动启动。
全局安装 npm i -g nodemon
全局安装的话,所有项目都可以用。
然后在你的 package.json 里 scripts 里加一条
"api": "nodemon -e json -w api-interface api-interface/app.js",
以上的操作步骤都是一个js群的大神告诉我的,大神博客地址http://ponents/Bilingual.vue"describe("Bilingual", () => { it("renders successfully", () => { const wrapper = shallowMount(Bilingual, { mocks: { $t: (msg) => msg } }) })})
现在测试通过了! mocks 选项用处多多,而我觉得最最常用的正是开头提到过的那三样。
(译注:通过这种方式就不能在单元测试中耦合与特定语言相关的内容了,因为翻译功能实际上已失效,也更无法处理可选参数等)
使用配置设置默认的 mocks
有时需要一个 mock 的默认值,这样就不用为每个测试用例都设置一遍了。可以用 vue-test-utils 提供的 config API 来实现。还是 vue-i18n 的例子:
import VueTestUtils from "@vue/test-utils"VueTestUtils.config.mocks["mock"] = "Default Mock Value"这个示例中用到了 Jest,所以我将把默认 mock 描述在 jest.init.js 文件中 -- 该文件会在测试运行前被自动加载。同时我也会导入并应用此前用于示例的翻译对象。
//jest.init.jsimport VueTestUtils from "@vue/test-utils"import translations from "./src/translations.js"const locale = "en"VueTestUtils.config.mocks["$t"] = (msg) => translations[locale][msg]现在尽管还是用了一个 mock 过的 $t 函数,但会渲染一个真实的翻译了。再次运行测试,这次移除了 mocks 加载选项并用 console.log 打印了 wrapper.html() 。
describe("Bilingual", () => { it("renders successfully", () => { const wrapper = shallowMount(Bilingual) console.log(wrapper.html()) })})测试通过,以下结构被渲染出来:
<div class="hello"> Hello world!</div>(译注:依然无法应付复杂的翻译)
总结
本文论述了:
以上所述是小编给大家介绍的在vue中使用express-mock搭建mock服务的方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对网站的支持!
声明:本页内容来源网络,仅供用户参考;我单位不保证亦不表示资料全面及准确无误,也不保证亦不表示这些资料为最新信息,如因任何原因,本网内容或者用户因倚赖本网内容造成任何损失或损害,我单位将不会负任何法律责任。如涉及版权问题,请提交至online#300.cn邮箱联系删除。
在vue项目中,mock数据可以使用node的express模块搭建服务1.在根目录下创建test目录,用来存放模拟的json数据,在test目录下创建模拟的数
之前都是介绍在普通项目中使用mock.js,那么本次就来介绍一下在vue中使用mock.js实现前后端分离。安装:npminstallmockjs这里先写个小案
在Vue项目中使用mock.js开发工具选择:Vscode1.使用命令行创建vue项目(手动选择Babel,Router,Vuex)2.导入element-ui
Mock文件系统相关的工具包括:Mockfs模块的工具mock-fs。Mockrequire模块的工具mock-require。安装mock-fs和mock-r
前段时间写了一篇前端vue项目实现mock数据方式的文章,主要是在vue项目里使用mock数据,数据和项目耦合在一起,不太优雅,作为一个有追求的前端,怎么能容忍