【问题标题】:How to pass app version to front end with Spring and Angular?如何使用 Spring 和 Angular 将应用程序版本传递到前端?
【发布时间】:2020-05-13 11:39:40
【问题描述】:
我需要能够在前端显示我从 pom.xml 获得的应用程序的版本号。
起初我的解决方案是对后端进行 api 调用。但后来我认为在构建过程中设置它会更好。
我的问题是如何使用新的 angular CLI 构建工具在 angular 中设置包含 pom.xml 文件中的版本号的全局变量。如果有帮助,我正在使用 Angular 8。
【问题讨论】:
标签:
angular
spring
spring-boot
webpack
angular-cli
【解决方案1】:
我不确定目前是否可以直接使用。
一种可行的方法是在您的environment.ts 文件中创建一个version 属性,并带有一个常量,例如{VERSION}。然后创建一个执行以下操作的 shell 脚本:
- 从
pom.xml文件中提取版本;
- 将
environment.ts 中的{VERSION} 替换为该版本。
然后在构建之前将您的 shell 脚本添加到构建脚本中。
但这并不理想。理想情况下,您的前端应该独立于后端。通过将后端依赖脚本添加到前端构建中,您将在两者之间添加额外的依赖关系,这可能会产生问题。
我想知道您最初的想法(通过 API)是不是更好。如果您通过 API 检索版本号,那么您的前端独立于后端。您还可以向 API 调用添加额外的后端信息,例如构建日期、服务器当前时间等。