闽公网安备 35020302035485号
后端开发忙,不给你接口?
后端抱怨你在测试过程中,频繁的给脏数据?
后端修个接口很慢没法测试?
有了 mockjs ,这些问题将迎刃而解。不要 998,pnpm i 带回家!
请看我的使用方式:
当后端接口无法满足要求,且不能及时更改时。例如后端返回
但我此时希望增加一个user_type来确定页面的展示。
那我就直接起一个文件:user.js,把刚才的响应 copy 过来,并追加改动
如此一来,这个请求就被无缝替换为了我们的 mock,可以随便测试了。
机-会
技术大厂,前端-后端-测试,新一线和一二线城市等地均有,感兴趣可以试试。待遇和稳定性都不错~
有的同学就要问了,主播主播,你的 mockjs 确实很方便,怎么接入比较好呀。别急,我们一步一步来
1、安装 mockjs
如果是使用 ts 的同学,可能需要额外安装 type 类型包:@types/mockjs
2、新建一个 mock 文件夹,在 mock/index.ts 放入基本路径
并且在你的项目入口 ts 中引入 mock/index.ts
3、导出一个 myMock 方法,并追加一个 baseUrl 方便直接联动你的 axios
如此一来,你就可以在 mock 文件夹下去搞了,比如:
我想新增一个服务模块的各类接口的 mock,那么我就新增一个 service 文件夹,在其下增加一个 index.ts,并对对应路径进行 mock
另外,别忘了在 mock/index.ts 引入文件
需要说明的是,这样走 mock 是不会触发真正的请求的,相当于 xhr 直接被 mock 拦截了下来并给了你返回值。所以你无法在 network 中看到你的请求。
这是个痛点,目前比较好的解决方案还是起一个单独的服务来 mock。但这样也就意味着,需要另起一个项目来单独做 mock,太不优雅了。
有没有什么办法,既可以走上述简单的mock,又可以在需要的时候起一个服务来查看 network,并且不需要额外维护两套配置呢?
有的兄弟,有的。
直接在 mock 文件夹下追加这个启动文件,当你需要看 network 的时候,将环境切换为 mock 环境即可。本质是利用了Mock._mocked可以拿到所有注册项,并用 express 起了一个后端服务响应这些注册项来实现的。
在拥有了这个能力的基础上,我们就可以调整我们的命令
"scripts": {
"dev": "cross-env NODE_ENV=test vite",
"mock": "cross-env NODE_ENV=mock vite & node ./src/mock/app.js"
},
顺便贴一下我的 env 配置:
这样一来,如果你需要看 network ,就 pnpm mock,如果不需要,就直接 pnpm dev,完全不需要其他心智负担。
三个字:
——转载自:imoo