【问题标题】:How to get backend server dynamically in Angular if frontend and backend are on the same server如果前端和后端在同一台服务器上,如何在 Angular 中动态获取后端服务器
【发布时间】:2022-07-09 02:34:55
【问题描述】:

我在本地服务器上部署了一个 Web 应用程序

  1. 问题是当我更改服务器的 IP 时,我必须重建 angular 应用程序以分配新 IP。
    我通过制作一个 JSON 文件并读取它以获取服务器 IP 来解决它,但是每次更改服务器 IP 时我仍然必须在 JSON 配置文件中手动更改 IP

  2. 当我将服务器从本地服务器发布到互联网时,我遇到了同样的问题,因为我必须使用后端服务器的公共 IP 而不是本地 IP

谁能帮我解决?

【问题讨论】:

  • 您可以从服务器端为前端提供服务

标签: php c++ node.js angular nestjs


【解决方案1】:

您可以将前端合并到服务器中:

首先将 Angular 项目中 api 的 url 更改为 /api 构建您的 Angular 项目
ng build // or ng build --prod // for poduction


后端 (Nestjs):install npm install --save @nestjs/serve-static 提供静态文件

最后将 angular build output dist 文件夹移动到带有不同名称的 nestjs 项目,例如 frontend

将 ServerStaticModule 导入 Appmodule

imports: [
ServeStaticModule.forRoot({
  rootPath: join(__dirname, '..', 'frontend'),
}),
], 

然后你可以从服务 IP 访问你的应用程序

更多详情:

Server Static nestjs doc

Use nest as your server-side application with an Angular frontend

【讨论】:

    猜你喜欢
    • 2020-02-12
    • 2019-07-10
    • 2020-07-23
    • 1970-01-01
    • 1970-01-01
    • 2019-10-13
    • 2012-07-11
    • 2016-06-20
    • 2020-09-14
    相关资源
    最近更新 更多