roadhog代理无效问题解决

使用Dva初始化项目后,在.roadhogrc.mock.js文件中默认配置代理如下:

export default {
  "proxy": {
    "/api": {
      "target": "http://jsonplaceholder.typicode.com/",
      "changeOrigin": true,
      "pathRewrite": { "^/api" : "" }
    }
  },
};

在使用过程中代理始终无法生效。
其实我理解,.roadhogrc.mock.js文件主要用于本地mock数据,与代理并无关系。更多配置

webpack-dev-server用于快速开发应用程序,支持devServer.proxy配置。而Dva中的roadhog开发工具在配置webpack部分功能时,需要在根目录新建.webpackrc完成,格式为 JSON,比如(AntD的按需加载):

{
  "extraBabelPlugins": [
    ["import", { "libraryName": "antd", "libraryDirectory": "es", "style": "css" }]
  ]
}

如果你偏爱 JS 的配置方式,或者需要通过编程的方式做一些判断或者抽象,可以用 .webpackrc.js配置文件,支持 ES6 语法,比如:

export default {
  externals: { react: 'window.React' },
}

同理,也可以设置代理了

{
  "extraBabelPlugins": [
    ["import", { "libraryName": "antd", "libraryDirectory": "es", "style": "css" }]
  ],
  "proxy": {
    "/api": {
      "target": "http://jsonplaceholder.typicode.com/",
      "changeOrigin": true,
      "pathRewrite": { "^/api" : "" }
    }
  }
}

你可能感兴趣的:(React)