ant design pro网络请求以及代理设置
 
                    ant design pro 官网:https://pro.ant.design/zh-CN
config/proxy.ts:
export default {
  dev: {
    '/api/': {
      // 要代理的地址
      target: 'http://test.crazyming.com',
      // 依赖 origin 的功能可能需要这个,比如 cookie
      changeOrigin: true,
      pathRewrite: { '^/api': '' },// 重写路径,这里将 /api/ 替换为了空  :http://localhost:8000/api/** -> http://test.crazyming.com/**
    },
  },
};
关于配置生产环境的请求地址,没有在文档上找到最佳实践,issues上提供了一些方案:
https://github.com/ant-design/ant-design-pro/issues/1046
我这里暂时用请求拦截器进行处理
src/app.tsx:
/**
 * 生产环境修改为正确的api地址
 * @param url
 * @param options
 */
const modifyUrl = (url: string, options: any) => {
  let api = url;
  if (window.location.hostname!=='localhost'){
    const domain = `http://test.crazyming.com`;
    const temp = `${domain}${url}`;
    api = temp.replace(`${domain}/api`,domain);
  }
  return {
    url: api,
    options: { ...options, interceptors: true },
  };
};
requestInterceptors数组加入modifyUrl
export const request: RequestConfig = {
  errorHandler: () => {
    console.log('网络请求错误');
  },
  // 修改api url
  // header 添加AccessToken
  requestInterceptors: [modifyUrl,authHeaderInterceptor],
};
版权声明:
                                    
作者:东明兄                                    
链接:https://blog.crazyming.com/note/2962/
                                    
来源:CrazyMing                                    
文章版权归作者所有,未经允许请勿转载。
                                
 
                 
                     
         
             
            
共有 0 条评论