我在grails 2.3.4
上运行,虽然在我的下一个应用程序中集成angularjs。
我认为服务器端的最佳方法是在域和控制器类中使用grails REST
集成。
但是我在这里被困住了。
如何让grails与angularjs通信?(在index.gsp
上?,如果是这样,如何整合它?)什么是一个好的架构?
我非常感谢你的回答!!!
PS:我知道有一个grails angular js插件。但是我确实看到了使用它的任何理由!答案 0 :(得分:12)
我们有两个项目作为两个独立的世界。服务器端的第一个项目是grails。我们正在创造“宁静”的服务。该项目对角度或资源插件或资产管道一无所知;甚至不使用gsp视图,只有json
个响应。将来我们可以使用'api'来构建移动客户端或与其他服务交换信息等。
另一方,客户,对grails一无所知。这是包含html 5
,javascript和angularjs框架的所有静态页面。
我相信'它'是每个人从现在开始采用的范例。
答案 1 :(得分:7)
我们选择不使用angular-js资源插件,而是使用我们自己的插件。只是为了更灵活地更新何时以及更新等等。
将angularjs文件放在/ js / lib文件夹中。创建资源包文件。 (我们有grails-app / conf / AngularResources.groovy文件)并在那里声明你的角度js资源包,如下所示。我们声明了所有角度资源,比如AngularResources.groovy中的controller / services / apps /指令
modules = {
'angular' {
resource url:"js/lib/angular/angular.min.js", nominify:true
resource url:"js/lib/angular/angular-resource.min.js", nominify:true
}
}
要求屏幕上的模块使用它。
答案 2 :(得分:7)
我更喜欢使用Asset Pipeline
首先,安装插件:
http://grails.org/plugin/asset-pipeline
在此之后,将您的javascripts从web-app/js/*
移至grails-app/assets/javascripts/*
。你必须使用样式表和图像来做到这一点。
安装并配置nodejs + npm以通过bower插件管理库
sudo apt-get install nodejs
sudo apt-get install npm
npm i -g bower
导航到grails-app / assets并安装angularjs
cd grails-app/assets
bower install angular --save
在javascripts文件夹中的application.js中,在第1行添加以下行:
//= require angular/angular.js
//= require_tree views
//= require_self
最后,在您的GSP中添加此行:
<asset:javascript src="application.js"/>
答案 3 :(得分:0)
答案 4 :(得分:0)
我使用grails和angularjs完成了演示应用程序。用户登录,注册,创建编辑删除联系人。我使用angularjs类似于grails mvc pattern的结构创建了这个前端。 联系模块
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知之甚少