猿问

基于部署环境的角度变化值

我已经对一个调用 Java RESful api 的 Angular 9 应用程序进行了 docker 化。当我在我的本地主机上运行它们时,它起作用了。


然后我将这两个图像部署到 Linux 服务器。


我可以访问 Angular 应用程序,但是当 Angular 应用程序尝试调用 RESTful api 时,它不能,因为我的端点 url 为:


export const config = {

    apiUrl: 'http://localhost:8081'

  };

问题


如何使 url 可配置,以便根据我将它部署到哪个服务器,我可以将它更改为该服务器的 IP?


例如,


export const config = {

    // if prod

    apiUrl: 'http://<serverIp>:8081'

    // if local

    apiUrl: 'http://localhost:8081'

  };


眼眸繁星
浏览 88回答 2
2回答

慕斯王

在 environments 文件夹中,有 2 个环境变量文件,第一个调用environment.ts开发变量,第二个调用environment.prod.ts部署变量,您可以将它们用于您的案例查看这篇文章&nbsp;https://www.jvandemo.com/how- to-use-environment-variables-to-configure-your-angular-application-without-a-rebuild/&nbsp;或角度文档&nbsp;https://angular.io/guide/build

慕妹3242003

请检查此构建和服务 Angular 应用程序,它解释了如何做到这一点。你需要在文件中输入你的生产环境变量environment.prod.ts和你的开发变量,environment.ts甚至还有一个用于暂存的暂存文件environment.stage.ts这是你基本上是怎么做的。// environment.ts for local machineexport const environment = {&nbsp; production: false,&nbsp; apiUrl: 'mydevelopmenturl.com'};// environment.ts for production environmentexport const environment = {&nbsp; production: true,&nbsp; apiUrl: 'myproductionurl.com'};
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答