javascript - 使用环回REST API时如何更改gulp-Angular项目的端口号

标签 javascript angularjs loopbackjs

我正在制作一个项目,在后端使用环回,在前端使用 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/

相关文章:

javascript - 请求 Firebase 消息传递 token 而不在前端安装 firebase 包

javascript - 改变嵌套对象

javascript - 从远程方法访问另一个环回模型的数据时返回未定义?

javascript - 如何为移动设备实现滑动手势?

javascript - 关于如何在phonegap中设置sqlite DB的说明

javascript - 如何在 Angular 中选择动态填充/未填充的 Selectbox 的第一个元素?

javascript - 如何仅向环回 API socket.io 中连接的套接字(客户端)发送数据

mysql - 连接失败 : Error: connect ETIMEDOUT

html - 容器中的 Twitter Bootstrap 内容未居中

angularjs - AngularJS 中 $http.put 和 $http({method :'PUT' }) 的区别