grails 2.3.4 结合angular js的智能文件夹结构

Posted

技术标签:

【中文标题】grails 2.3.4 结合angular js的智能文件夹结构【英文标题】:Intelligent folder structure for grails 2.3.4 in combination with angular js 【发布时间】:2014-02-03 00:02:06 【问题描述】:

在不使用 grails angularjs 插件的情况下,结合 angularjs 的 grails 2.3.4 的智能文件夹结构是什么?

目前我已将所有内容打包到webapp 文件夹中。

【问题讨论】:

【参考方案1】:

组织你的目录的方式有很多种,但是我们现在使用的方式,我称之为Grailsy方式,在某种程度上与Grails的目录结构是一致的:

web-app
  css
  js
   |  lib 
   |  ng-app
        |  controllers
           - abcController.js 
        |  directives
           - directives.js
        |  filters
           - filters.js
        |  services
           - dataServices.js
        |  views 
           - somehtml.html
        |  app.js

lib 拥有所有的角度库,我们还将我们的角度组件分成不同的文件夹,类似于 Grails 并且运行良好。

但是,另一种方法是根据模块组织目录。这种方法在here 中提出,似乎对更大的应用程序很有希望。基本上,目录代表您单个页面上的组件。对于与组件相关的资源,将很容易找到并且更少跨目录移动。

web-app
      css
      js
       |  lib 
       |  ng-app
            |  accounts
               - accountController.js 
               - accountServices.js
               - views 
                 - someHtml.html
            |  payments
               - paymentsController.js 
               - paymentsServices.js
               - views 
                 - someHtml.html
            |  app.js

Advanced Design Patterns and Best Practices”是角度最佳实践的绝佳参考

【讨论】:

感谢您的回答!您是否将 angularjs 文件放入 libs 文件夹? 是的,如果使用了资源插件,则从ApplicationResources 引用。如果没有限制,我更喜欢 CDN。 :) 感谢您的回答!顺便说一句,您是将index.html 文件放入views 文件夹还是放入根字典? 我更新了我的答案,我们有多个角度页面,所以角度方面没有单个条目页面。但是我们有一个 Grails 视图作为入口点index.gsp,它将向 Grails 引入角度,从那时起角度路由器会将调用引导到正确的角度视图。 顺便说一句,您实际上是在放置模型吗?【参考方案2】:

我已经使用 grails 和 angularjs 完成了演示应用程序。用户登录、注册、创建编辑删除联系人。我使用与 grails mvc 模式类似的 angularjs 结构创建了这个前端。 联系模块

1. Grails  -> URLMappings,
   Angular -> Routing (app.js)
2. Grails  -> ContactController(Actions:create,list,edit,delete,details) 
   Angular -> ContactController(Actions: create,list,edit,delete,details)
3. Grails  -> ContactService(Methods: create,save,edit,delete,details) 
   Angular -> ContactService(Functions: create,save,edit,delete,details)
4. Views   -> All views are created using Angularjs (Create, Details)

我阅读了很多教程,并做了这个应用程序以匹配 Grails MVC 模式,所以如果他们对 Grails 了解不多,任何人都可以理解这个角度演示应用程序

http://mannejkumar.github.io/GrailsAngularDemoApp/

【讨论】:

以上是关于grails 2.3.4 结合angular js的智能文件夹结构的主要内容,如果未能解决你的问题,请参考以下文章

Grails、Spring Security 和 Angular JS - 如何保护 URL?

Grails 2.3.4 池为空。无法在 30 秒内获取连接

Grails 从 2.2.1 升级到 2.3.4 @Secured Annotation

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

使用 Grails 和 Spring Security 作为后端时的 Angular 前端身份验证

Grails 2.3.4 - 执行脚本清理时出错:_GrailsClasspath_groovy$_run_closure1