我在写我的第一个Grails(2.3.6)应用程序,需要使用以下库:
我想从一个web-app/js/application.js
文件中配置这些库。我不知道我是否应该:
web-app/js/
目录中,然后导入它们从我的GSP(见下文)内<script>
元素;要么BuildConfig.groovy
拉他们进来。与前一种方法:
// Inside index.gsp:
<body>
<script type="text/javascript" src="${resource(dir: 'js', file: 'signals.min.js')}" />
<script type="text/javascript" src="${resource(dir: 'js', file: 'crossroads.min.js')}" />
<script type="text/javascript" src="${resource(dir: 'js', file: 'hasher.min.js')}" />
<script type="text/javascript" src="${resource(dir: 'js', file: 'application.js')}" />
</body>
对于后一种方法:
// Inside BuildConfig.groovy:
plugins {
runtime: ":signals:???"
runtime: ":crossroads:???"
runtime: ":hasher:???"
}
哪种方式是去使用Grails,为什么以正确的方式?而且,如果是后者的做法是普遍接受的方法,我需要为每个runtime
进入什么样的价值观?
个人如果你认为这些库将是一个不错的选择,为社会,你想保持他们,我只会去插件路线。看来您应该使用所提及的资源插件或资产流水线插件。
个人而言,我肯定会用资产流水线插件,而不是资源去。这将是在2.4和恕我直言,这样更容易和更快地使用默认值。其他插件的很多已经与它集成,它是死的简单易用。您还可以添加库的全部非缩小的版本,所以你可以访问他们在开发调试,当你的战争你的项目了插件将自动运行如下,并捆绑它们。
1)添加你的库/资产/ JS /。 2)本加入的application.js
//This is a javascript file with its top level require directives
//= require signals.js
//= require crossroads.js
//= require hasher.js
//= require_self
console.log("This is my javascript manifest");
3)资产添加到您的网页或布局
<head>
<asset:javascript src="application.js"/>
</head>
如果没有的Grails 2,资产管道,作为一个变通资产管道问题,如CKEditor的,我不得不这样做:<g:javascript src="ckeditor/ckeditor"></g>
在我appLayout,并添加库web应用程序/ JS。 (显然,CKE与资产管道问题)。
这里是文档(Grails的v.2.3.7):https://grails.github.io/grails2-doc/2.3.7/ref/Tags/javascript.html
我也发现了这个链接非常有用:Where should I put javascript libraries in a Grails app?