我目前正在看JHipster。
我无法弄清楚JHipster如何处理开发,测试和制作等环境。
这包括:
在angular-cli项目中,我习惯于环境特定的配置文件(environment.dev.ts,environment.prod.ts),这些文件可以在build(ng build --env prod)中定义但是因为angular.cli确实似乎不是JHipster的首选方式,必须有另一个解决方案。
所以我的问题是:
答案 0 :(得分:0)
JHipster将服务器中的客户端打包为可执行jar,因此只要您使用/api
,就不需要在客户端的不同环境之间使用不同的API端点。
在服务器端,JHipster使用Spring profiles,它可以动态设置并指向外部配置文件(application*.yml
文件)。默认情况下为JHipster comes with 2 main profiles dev
和prod
,但还有swagger
和no-liquibase
之类的其他内容可以与dev
或{{1}结合使用}}。您也可以定义自己的配置文件。
如果您的客户端应用需要访问环境之间不同的某些外部API端点(例如Google),则可以通过以下两种方式执行此操作:
- 使用prod
从服务器API检索活动配置文件,然后在客户端代码中初始化端点。
- 在服务器中创建新端点(例如/api/profile-info
)以获取客户端配置
然后有两种由maven / gradle配置文件触发的构建:dev和prod。
对于新手来说,最重要的可能是了解Spring Profiles和应用程序属性,这些并不是JHipster特有的。
答案 1 :(得分:0)
如果您正在创建独立应用程序或使用JHipster网关包体系结构,则可以使用DefinePlugin
通过webpack参数化Angular 2应用程序。我在此详细介绍了此过程的步骤:Environment-based properties for Angular 2 App Served by Webpack?