使用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" : "" }
}
}
}