【问题标题】: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 应用程序
-
问题是当我更改服务器的 IP 时,我必须重建 angular 应用程序以分配新 IP。
我通过制作一个 JSON 文件并读取它以获取服务器 IP 来解决它,但是每次更改服务器 IP 时我仍然必须在 JSON 配置文件中手动更改 IP
-
当我将服务器从本地服务器发布到互联网时,我遇到了同样的问题,因为我必须使用后端服务器的公共 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