如何将角js融入grails 2.3.4?

use*_*347 8 javascript grails grails-plugin grails-2.0 angularjs

我正在运行grails 2.3.4,虽然在我的下一个应用程序中集成angularjs.

我认为从服务器端最好的方法是REST在域和控制器类中使用grails 集成.

但是在这里我被困住了.

如何让grails与angularjs进行交流?(通过index.gsp?,如果是这样如何整合它?)什么是一个好的架构?

我非常感谢你的回答!

PS.:我知道有一个grails angular js插件.但是我确实看到了使用它的任何理由!

AA.*_*AA. 12

我们有两个项目作为两个独立的世界.服务器端的第一个项目是grails.我们正在创造"宁静"的服务.该项目对角度或资源插件或资产管道一无所知; 甚至不使用gsp视图,只使用json响应.将来我们可以使用'api'来构建移动客户端或与其他服务交换信息等.

另一方面,客户对grails一无所知.这是所有静态页面html 5,javascript和angularjs框架.

我相信'它'是每个人从现在开始采用的范例.


Sud*_*r N 7

我们选择不使用angular-js资源插件,而是使用我们自己的插件.只是为了更灵活的时间和更新等.

只需将angularjs文件放在/ js/lib文件夹中.创建资源包文件.(我们有grails-app/conf/AngularResources.groovy文件)并在那里声明你的角度js资源包,如下所示.我们在AngularResources.groovy中声明了所有角度资源,例如controller/services/apps/directives

modules = {
'angular' {
    resource url:"js/lib/angular/angular.min.js", nominify:true
    resource url:"js/lib/angular/angular-resource.min.js", nominify:true        
   }
 }
Run Code Online (Sandbox Code Playgroud)

需要屏幕上要使用它的模块.


ric*_*bbo 7

我更喜欢使用Asset Pipeline

首先,安装插件:

http://grails.org/plugin/asset-pipeline
Run Code Online (Sandbox Code Playgroud)

在此之后,请将您的JavaScript web-app/js/*grails-app/assets/javascripts/*.您还必须使用样式表和图像执行此操作.

安装和配置nodejs + npm以通过bower插件管理库

sudo apt-get install nodejs
sudo apt-get install npm
npm i -g bower
Run Code Online (Sandbox Code Playgroud)

导航到grails-app/assets并安装angularjs

cd grails-app/assets
bower install angular --save
Run Code Online (Sandbox Code Playgroud)

在javascripts文件夹中的application.js中,在第1行添加以下行:

//= require angular/angular.js
//= require_tree views
//= require_self
Run Code Online (Sandbox Code Playgroud)

最后,在您的GSP中添加以下行:

<asset:javascript src="application.js"/>
Run Code Online (Sandbox Code Playgroud)