我有一个使用Angular 7构建的Web应用程序,我需要进行API调用以获取我在应用程序中显示的一些数据。
API终点是Node.js中的Express Server,它具有一些配置,可以从Web应用程序的URL
中启用CORS我已经为Web应用程序和中间件服务创建了单独的Docker映像,我计划将它们部署在同一服务器中(Linux Machine在云VM上使用IP -A.B.C.D(
由于我知道此VM的IP,因此我可以将API URL用作Web App(Angular Service(中的A.B.C.D/API/FOO(Angular Service(,并且White列出了Web应用程序中间件中的URL为A.B.C.D:3000
但是在某些情况下,VM的IP地址将来可能会发生变化,我们还将使用Ansible脚本在云中自动化VM创建。在这种情况下,我有什么办法在Web应用程序和中间件中拥有某种占位符,并在服务器上运行Docker映像时配置URL?或事实上,我可能会在应用程序中使用的任何URL(例如-DB URL等(
我们已经使用了此方法,因此它肯定会起作用。您可以将URL保存在environment.ts
中,并在"必需"页面上调用
export const environment = {
production: false,
apiUrl : 'http://a.b.c.d:3000'
};
服务页面以包含url到服务
export class CServices {
private url = environment.apiUrl;
constructor(){}
checkfunction() {
return this.http.post(this.url + '/api/', JSON.stringify(payload));
}
}