我目前正在查看 JHipster。
我不明白 JHipster 如何处理开发、测试和生产等环境。
这包括:
- 服务器(数据库等配置或其他应用特定配置)
- 客户端(Angular4,API 端点等配置)
在 Angular-CLI 项目中,我习惯于环境特定的配置文件(environment.dev.ts、environment.prod.ts),这些配置文件可以在构建时定义(ng build --env prod),但由于 angular.cli 确实似乎不是 JHipster 上的首选方式,必须有另一种解决方案。
所以我的问题是:
- 如何配置环境(服务器和客户端)?
- 构建时如何指定环境(服务器和客户端)?
最佳答案
JHipster 将服务器中的客户端打包为可执行 jar,因此只要您使用 /api
,客户端的不同环境之间就不需要不同的 API 端点。
在服务器端,JHipster 使用Spring profiles它可以动态设置并指向外部配置文件(application*.yml
文件)。默认JHipster comes with 2 main profiles dev
和 prod
,但还有其他一些,例如 swagger
和 no-liquibase
,您可以将它们与 结合使用>dev
或 prod
。您也可以定义自己的配置文件。
如果您的客户端应用需要访问某些环境之间不同的外部 API 端点(例如 Google),您可以通过两种方式实现:
- 使用 /api/profile-info
从服务器 API 检索事件配置文件,然后在客户端代码中初始化您的端点。
- 在服务器中创建一个新端点(例如 /api/configuration
)以获取客户端配置
然后有两种由 maven/gradle 配置文件触发的构建:dev 和 prod。
对于新手来说,最重要的可能是了解 Spring Profiles 和应用程序属性,这些并不是 JHipster 特有的。
关于JHipster环境配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45404098/