2017-04-15 54 views
0

如果我有兩個獨立的資產,依賴於jquery並在同一頁面中使用兩個jquery js包含兩次。使用grails資產重複jQuery的定義

file1.js 
//= require jquery 
//= require plugin1.js 

file2.js 
//= require jquery 
//= require plugin2.js 

在HTML文件中:

<asset:javascript src="file1.js" /> 
<asset:javascript src="file2.js" /> 

如何實現這一目標只有一個jQuery是包括在內?

+0

是否真的重要的文件3?第二個調用將從瀏覽器緩存中提供。 –

+0

當你使用twitter bootstrap JS時它很重要。它們將init函數綁定到$ variable。但是當你從你的腳本訪問這些函數時,你訪問了不同的jquery變量,然後你就沒有這些函數。 –

+1

不要在其中包含jquery嗎? –

回答

0

這就是資產管道的工作原理。如果您有需要這兩個文件的網頁,創建一個新的清單

file3.js 

//= require file1.js 
//= require file2.js 

然後就包括頁面

<asset:javascript src="file3.js" />

+0

我很困惑,因爲在以前版本的Grails(2.xx)中,使用了資源插件,這從來都不是問題。依賴的js文件只能解析一次嗎?例如如果file1.js和file2.js都需要像上面例子那樣的jQuery? –

+0

是的。我不確定你的困惑來自哪裏,因爲這是一個完全不同於插件的插件,因此它的工作方式不同。 –

+0

我知道這是一個不同的插件,但它在Grails中使用。而且由於它是較新的版本,人們可能會認爲它的使用方式與舊的Grails類似。在文檔中,沒有關於您應該在HTML中放置什麼以及重複如何解決(不)的問題,所以我認爲您會以舊的方式使用它。感謝您的澄清! –