在使用 qiankun 微前端框架时,主应用可以通过配置代理来转发子应用的接口请求。这样可以解决跨域问题和统一管理接口访问。
首先,在主应用的配置文件中(例如 webpack.config.js)添加以下代码:
const { createProxyMiddleware } = require('http-proxy-middleware');
module.exports = {
// ...其他配置
devServer: {
// ...其他 devServer 配置项
// 添加代理配置
proxy: {
'/api': {
target: 'http://子应用的接口地址',
changeOrigin: true,
pathRewrite: {
'^/api': '', // 如果子应用接口有基础路径,需要进行重写
},
},
},
},
};
上述代码中,将 /api
路径下的请求转发到了子应用的接口地址,并进行了域名跨域处理。你可以根据实际情况修改目标地址和路径重写规则。
然后,在主应用中调用接口时,使用相对于主应用的 /api
路径作为前缀,例如:
fetch('/api/users')
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error(error));
这样就能将请求发送给子应用的接口地址,并成功获取响应数据。
注意:以上示例是基于 webpack-dev-server 进行配置的,在生产环境部署时需要根据实际情况配置代理服务器。
内容由零声教学AI助手提供,问题来源于学员提问