如何同时使用多个Grails profile?REST-API与Angular profile共用方案咨询
同时使用Grails REST-API与Angular profile的可行性及实现方案
可行性结论
完全可以实现你的需求,Grails官方本身没有"单项目同时加载多个profile"的设计,所以你搜不到相关文档是正常的,但Angular搭配REST API的常用场景可以通过前后端分离的双项目架构落地,刚好可以分别使用两个对应profile。
具体实现流程
- 初始化后端服务:使用
rest-apiprofile创建独立的后端项目,命令为grails create-app 你的后端包名 --profile=rest-api,该项目仅负责编写业务逻辑、数据持久化、输出标准RESTful接口。 - 初始化前端项目:使用
angularprofile创建独立的前端项目,命令为grails create-app 你的前端包名 --profile=angular,该profile预置了对接Grails后端接口的工具链、基础跨域配置模板,比直接用原生Angular CLI创建的项目更适配Grails生态。 - 配置跨域规则:在后端项目的
application.yml中添加跨域放行配置,将前端项目的访问地址加入允许列表,避免接口请求被跨域策略拦截。 - 联调迭代:前后端项目独立开发、独立部署,前端通过接口请求调用后端能力即可,两个项目互不影响,后续迭代扩展性也优于单项目耦合方案。
补充说明
Grails的profile本质是项目初始化的脚手架模板,作用是在项目创建阶段预置对应场景的依赖、配置、代码模板,设计上就不支持单项目同时指定多个profile,你检索不到相关文档是正常情况,不用尝试在同一个项目中强制引入两个profile,双项目分离的方案是官方推荐的最佳实践。
内容的提问来源于stack exchange,提问作者Jack.Frost
相关产品推荐
相关产品推荐

