再用create-react-app创建react项目后,安装了http-proxy-middleware来配置代理,在src文件夹下新建了一个setupProxy.js文件,当时写的的代码如下:
const proxy = require("http-proxy-middleware");
module.exports = function(app) {
app.use(
proxy(
"/api", {
target: "http://localhost:3001",
changeOrigin: true,
pathRewrite: {
"^/api": "/"
}
})
);
};
发现报如下错误:proxy is not a function
后来查阅资料发现http-proxy-middleware的官方文档,发现最新的1.0.0版本已经对模块的引用作了明确的要求
0.x.x版本的引用方式
const proxy = require('http-proxy-middleware');
1.0.0版本的引用方式
const { createProxyMiddleware } = require('http-proxy-middleware');
所以把代码改为如下就可以了:
const { createProxyMiddleware } = require("http-proxy-middleware");
module.exports = function (app) {
app.use(
"/api",
createProxyMiddleware(
{
target: "http://localhost:3001",
changeOrigin: true,
pathRewrite: {
"/api": ""
}
}
)
);
};