最佳实践,包括 Grails 中的 Angular UI

Posted

技术标签:

【中文标题】最佳实践,包括 Grails 中的 Angular UI【英文标题】:Best practice including Angular UI in Grails 【发布时间】:2014-04-25 15:21:46 【问题描述】:

我想在我的 grails 应用程序http://angular-ui.github.io/ui-calendar/ 中使用以下插件。下载包含一个 bower.json 来解决必要的依赖关系:

  "dependencies": 
"angular": "~1.2.x",
"jquery": "~2.x",
"jquery-ui": "~1.10.3",
"fullcalendar": "~1.x","devDependencies": 
"angular-mocks": "~1.x",
"bootstrap-css": "2.3.1"

将其包含在 grails 项目中的最佳做法是什么,因为我认为手动添加所有这些文件不是可行的方法。

【问题讨论】:

你可以像往常一样从命令行使用 bower。不确定是否有 Bower 插件 我也会考虑将架构解耦,这样您就不会混合两个生态系统。让 Grails 成为后端服务项目,让 Angular 成为使用它的丰富的前端客户端。 目前我们有一个 grails API 作为后端。但是对于实际的应用,我们仍然需要一些 grails。 【参考方案1】:

我做的事情

我不确定这是否是最佳实践,但正如 @Igor Artamonov 提到的,我正在使用 bower(在 web-app 文件夹中)管理我的客户端代码,现在它只是一个开发时间过程,并且在完成 bower install 之后然后在ApplicationRecources.groovy 中引用实际必要的文件,然后使用 grails 插件将其最小化、混淆等。

权衡是使用bower 安装的文件包含许多不必要的内容,并且通常会暴露出来,这不是您需要的。但是使用spring security 之类的东西可以阻止对这些文件的访问。

在 node.js 中

node.js 项目中,我将有Grunt 任务将开发资产准备到生产资产并将它们放在某个地方,而生产版本甚至以前都没有安装过东西。

其他想法

所以我的猜测是我仍然需要一个永远不会投入生产的watched 目录,并且在那里进行某些更改后,必要的资产在经过优化、混淆等之后被复制到web-app 文件夹。也许除了bower 我也应该介绍一下grunt 任务,也许需要一个新插件,但那是为了将来。

【讨论】:

以上是关于最佳实践,包括 Grails 中的 Angular UI的主要内容,如果未能解决你的问题,请参考以下文章

模块化大型 Grails 应用程序的最佳实践?

Angular 中的子父级沟通最佳实践

使用 Tomcat 部署 grails 应用程序的最佳实践

在 Angular 站点中使用 content-security-policy 的最佳实践是啥?

前端架构鉴赏01:Angular 架构模式与最佳实践

Grails 中的控制器