我正在制作一个项目,在后端使用环回,在前端使用 Angular 。客户端是用 gulp-angular 生成的。之后,我从环回添加了 lb-services.js。我遇到的问题是, Angular 应用程序试图在我运行 gulp 服务的同一端口上向 API 发出请求。我的环回应用程序在端口 3000 上,Angular 在端口 3001 上运行。
如何告诉 Angular 在向 API 发出请求时更改端口号?
我尝试像这样修改 gulp server.js
:
browserSync.instance = browserSync.init({
startPath: '/',
server: server,
browser: browser,
port:4000
});
但这只会使 Angular 及其在 API 上发出的请求在端口 4000 上运行,得到以下结果:
Angular 运行于:
http://localhost:4000/
向环回服务器请求:
http://localhost:4000/api/People
我想要的是这样的:
Angular 运行于:
http://localhost:4000/
向环回服务器请求:
http://localhost:3000/api/People
谁能帮我实现这个目标?
最佳答案
您可以为 API 添加 rewriteRule 以将 URL 更改为 localhost:3000。如图所示: https://www.browsersync.io/docs/options/#option-rewriteRules
您可以使用的另一个选项是:https://github.com/Swiip/generator-gulp-angular/blob/master/docs/how-it-works.md#proxy 。 您可以使用代理将 API 请求重定向到正确的 URL。像这样(取自 Github 示例):
app.use('/api', proxy({target: 'http://localhost:3000/api', changeOrigin: true}));
关于javascript - 使用环回REST API时如何更改gulp-Angular项目的端口号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37221068/