上篇文章讲述了怎么用 Node 实现一个 API 服务
现在开始讲述如何搭建一个 好用的 API Mock 服务
达到的效果:
在开发环境中就可以在 url 后面添加 ?ismock=1
参数来实现数据 mock,(没有该参数就访问正常数据),且不会对测试环境和生产环境造成任何影响
实现步骤:
-
通过 Webpack 设置代理。
//webpack.config.js proxy: { '/mock': { target: 'mock', changeOrigin:true, pathRewrite: {'^/mock': ''} } }
-
拦截请求(比如 Axios 自带的拦截器)
- 判断 url 参数(如
?ismock=1
) - 判断当前环境(如
process.env.NODE_ENV == 'development'
) - 添加
baseUrl = /mock
- 判断 url 参数(如
- 在 webpack 的压缩处理中删除不可达代码(见 webpack 配置表)