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

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

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

【问题讨论】:

    标签: angularjs grails grails-2.0


    【解决方案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/

    【讨论】:

      猜你喜欢
      • 2017-01-06
      • 2016-03-20
      • 1970-01-01
      • 2019-06-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-03-03
      • 1970-01-01
      相关资源
      最近更新 更多