簡體   English   中英

如何在Grails應用程序中正確包含JS庫?

[英]How to properly include JS libs inside a Grails app?

我正在編寫我的第一個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)將您的庫添加到/ 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),我必須在我的appLayout中執行<g:javascript src="ckeditor/ckeditor"></g> ,然后添加庫到web-app / js。 (顯然,CKE在資產管道方面存在問題)。

這是文檔(Grails v.2.3.7): https ://grails.github.io/grails2-doc/2.3.7/ref/Tags/javascript.html

我還發現此鏈接非常有幫助: 我應該將JavaScript庫放在Grails應用程序的哪里?

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM