react的代理实现跨域
- 在配置在src/setupProxy.js文件
- 并通过npm安装http-proxy-middleware,代理中间件模块
-
npm i -D http-proxy-middleware
创建文件setupProxy.js
导入:
内置了express
const { createProxyMiddleware: proxy } = require('http-proxy-middleware')
创建:
module.exports = app => {
// 参数1:以什么规则开头
app.use('/api', proxy({
// 目标地址开头
target: 'https://api.iynn.cn/film',
// 是否修改主机头
changeOrigin: false,
//去掉开头
pathRewrite: {
'^/api': ''
}
}))
}
也可以通过这个mock数据来模拟发送:
mock/user.js目录下:
module.exports = (app) => {
app.get("/api/users", (req,) => {
res.send([{ id: 1,name: "si",},{id: 2,name: "eee",}]);
});
app.post("/api/users", (req,) => {res.send([{id: 1,name: "张三",},{id: 2,name: "英子",}]);
});
};
代理模块导入:
const userMockFn = require('../mock/user')
module.exports = app => {
userMockFn(app)
}