问题描述
在Angular应用程序代理配置中,我有两个目标端点。对于第一个,我必须配置正常的代理,对于第二个,我不需要配置代理,但仍将其重定向到baseurl。
targetEndPoint:https:// abc / abcapi / v1 / mwa 重定向到:https://apps.ooo.com/api(按预期效果良好)
groupTargetEndpoint:https:// xyz / xyzapi / v1 / uuu 重定向到:https://apps.ooo.com/groups(我希望它是https:// xyz / xyzapi / v1 / uuu / groups)
server.js
----------
// Get dependencies
const express = require('express');
const path = require('path');
const http = require('http');
const bodyParser = require('body-parser');
const { createProxyMiddleware } = require('http-proxy-middleware');
const app = express();
// figure out api url.
var targetEndpoint = process.env.URL;
//Check for URL
if (targetEndpoint != undefined && targetEndpoint.length > 0) {
console.log('Found url ' + targetEndpoint);
}
else {
console.error('Could not find URL system var.');
process.exit();
}
var options = {
target: targetEndpoint,changeOrigin: true,toProxy: true,ws: true,logLevel:"debug",headers: {cookie: ""}
}
// Get our API routes
var apiProxy = createProxyMiddleware(options);
app.use("/api",apiProxy);
// figure out api endpoint.
var groupTargetEndpoint = process.env.GROUP_URL;
console.log('groupTargetEndpoint ' + groupTargetEndpoint);
var groupapiProxyOptions = {
target: groupTargetEndpoint
}
var groupapiProxy = createProxyMiddleware(groupapiProxyOptions);
app.use("/groups",groupapiProxy);
// Parsers for POST data
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
// Point static path to dist
app.use(express.static(path.join(__dirname,'app/dist/')));
// Catch all other routes and return the index file
app.get('*',(req,res) => {
res.sendFile(path.join(__dirname,'app/dist/'));
});
/**
* Get port from environment and store in Express.
*/
const port = process.env.PORT || '4200';
app.set('port',port);
/**
* Create HTTP server.
*/
const server = http.createServer(app);
/**
* Listen on provided port,on all network interfaces.
*/
server.listen(port,() => console.log(`API running on localhost:${port}`));
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)