上篇文章讲述了怎么用Node实现一个API服务

现在开始讲述如何搭建一个好用的API Mock服务

达到的效果:

在开发环境中就可以在url后面添加?ismock=1参数来实现数据mock,(没有该参数就访问正常数据),且不会对测试环境和生产环境造成任何影响

实现步骤:

  1. 通过Webpack设置代理。

        //webpack.config.js    proxy: {        '/mock': {            target: 'mock',            changeOrigin:true,            pathRewrite: {                '^/mock': ''            }        }    }
  2. 拦截请求(比如Axios自带的拦截器)

    • 判断url参数(如?ismock=1)
    • 判断当前环境(如process.env.NODE_ENV == 'development')
    • 添加baseUrl = /mock
  3. 在webpack的压缩处理中删除不可达代码(见webpack配置表)

源码地址