如何在Grails应用程序中正确地包含JS库
How to properly include JS libs inside a Grails app?
我正在编写我的第一个Grails(2.3.6)应用程序,需要使用以下库:
- JS-Signals
- Hasher
我想从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)添加你的库到/assets/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>
http://grails.org/plugin/asset-pipeline 在Grails 2中没有资产管道,作为解决资产管道问题的方法,比如CKEditor,我不得不这样做:<g:javascript src="ckeditor/ckeditor"></g>
在我的appLayout中,并将库添加到web-app/js。(显然,CKE的资产管道有问题)。
下面是Grails v.2.3.7的文档:https://grails.github.io/grails2-doc/2.3.7/ref/Tags/javascript.html
我也发现这个链接非常有用:我应该把javascript库放在Grails应用程序的哪里?
相关文章:
- document.open/document.write没有正确地清除chrome中的文档——这是chrome的错误吗
- 如何正确地使这个js片段内容不可知
- 如何正确地将参数传递给RequireJS回调函数
- 如何正确地在页面外编写DFP广告单元
- 动态地包含来自外部文件PHP的JavaScript
- 如何正确地将数据发送到打开的Firefox侧边栏
- jQuery:如何正确地暂停递归
- 承诺-如何正确地将错误附加到此示例
- 如何正确地原型JS子伪类
- 如何正确地以无限滚动浏览网页
- Photoswipe 4:如何正确地禁用“;getThumbBoundsFn"在支持IE8的纯VanillaJ
- 如何正确地包含带有参数的谷歌地图API
- 如何正确地包含jasmine节点测试运行程序的源文件
- 如何使用Javascript Twig模板正确地包含Javascript
- 如何使用Jade正确地将Fusioncharts.js包含在Node Express项目中
- 如何正确地在javascript中的对象键中包含破折号
- Webpack正确地不包含死代码,但捆绑了死代码的依赖项
- 如何正确地在HTML中包含字体
- 如何正确地添加搜索查询参数,以url包含哈希在javascript
- 如何在Grails应用程序中正确地包含JS库