如何解决我的React应用未使用http-proxy-middleware注册setupProxy.js
我正在尝试使用setupProxy.js代理多个API,但完全无法正常工作。
我现在可以在开发人员中代理请求的唯一方法是在package.json中设置proxy
字符串,但这不能解决我的问题,因为我需要代理多个端点,并且只能使用一个字符串。
我正在使用"http-proxy-middleware": "^0.19.1"
我的setupProxy.js看起来像这样:
var express = require('express');
var app = express();
var proxy = require('http-proxy-middleware');
var cors = require('cors')
module.exports = function() {
app.use(cors());
app.use(proxy('/api',{ target: 'http://localhost:52992/' }));
app.use(proxy('/otherapi',{ target: 'https://localhost:44309/' }));
app.get('/einreichung',function(req,res){
res.sendfile(__dirname + '/build/index.html');
});
app.use(express.static(__dirname + '/build'));
app.listen(3000,function () {
console.log('Example app listening on port 3000!');
});
}
我尝试了不同的修改。没有module.exports,在function(app)
中有app参数,没有express
和app variables
,但没有任何作用。
解决方法
您必须从createProxyMiddleware
正确导入http-proxy-middleware
:
var express = require('express');
var app = express();
var { createProxyMiddleware } = require('http-proxy-middleware');
var cors = require('cors');
https://create-react-app.dev/docs/proxying-api-requests-in-development
,尝试使用传递给匿名函数的第一个 arg 作为 app
module.exports = function(app) {
// your code...
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。