如何在使用loopback REST API时更改gulp-angular项目的端口号

How to change the port number of the gulp-angular project when using loopback REST API

本文关键字:gulp-angular 项目 口号 API REST loopback      更新时间:2023-09-26

我正在制作一个项目,在后端使用环回,在前端使用angular。客户端生成的是有棱角的吞咽。之后,我添加了来自loopback的lb-services.js。我遇到的问题是angular应用程序试图在我拥有gulp serve running的同一端口上向API发出请求。我的环回应用程序在3000端口,Angular在3001端口运行。

在向API发出请求时,如何告诉Angular更改端口号?

我试过这样修改吞咽server.js

  browserSync.instance = browserSync.init({
    startPath: '/',
    server: server,
    browser: browser,
    port:4000
  });

但这只是使角度和它在API上发出的请求都在4000端口上运行,得到了这样的结果:

角度运行:http://localhost:4000/

请求回送服务器:

http://localhost:4000/api/People 

我想要的是:角度运行:http://localhost:4000/

请求回送服务器:

http://localhost:3000/api/People 

有人能帮我实现这个吗?

您可以为API添加一个rewriteRule来将URL更改为localhost:3000。如图所示:https://www.browsersync.io/docs/options/#option-重写规则

您可以选择的另一个选项是: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}));