开发环境代理api
当使用此模板与一个已经存在的后台配合开发时,一般需要在开发环境下访问后台的API。要做到这一点,我们可以使开发服务器和后台api并行运行(或远程运行),并让开发服务器代理的所有实际后台的API请求。
要配置代理规则,编辑config/index.js文件中的dev.proxyTable选项。开发服务器使用http代理中间件 来做代理,所以你应当瞅瞅它的文档来查看细节使用。不过这里有个简单的例子:
// config/index.jsmodule.exports = {// ...dev: {proxyTable: {// 代理所有以/api开始的请求到jsonplaceholder'/api': {target: 'http://jsonplaceholder.typicode.com',changeOrigin: true,pathRewrite: {'^/api': ''}}}}}
上面的例子会将/api/posts/1请求代理到http://jsonplaceholder.typicode.com/posts/1上。
匹配URL
除了静态的URL,您也可以使用glob模式匹配URL,例如/api/**在 上下文匹配。另外,你可以提供一个filter选项,可以自定义函数来确定请求是否应该被代理:
proxyTable: {'*': {target: 'http://jsonplaceholder.typicode.com',filter: function (pathname, req) {return pathname.match('^/api') && req.method === 'GET'}}}
