2017-04-15 11 views
0

jqueryに依存する2つの独立したアセットを持ち、両方を同じページで使用する場合は、jquery jsが2回含まれます。私は一つだけjqueryのが含まれていることを実現するにはどうすればよいgrailsアセットを使用した重複jquery定義

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

:HTMLファイル内

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

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

+0

を含めることは本当に重要ですか? 2番目の呼び出しはブラウザのキャッシュから提供されます。 –

+0

twitterブートストラップJSを使用すると問題になります。 init関数を$ variableにバインドします。しかし、スクリプトからこれらの関数にアクセスすると、別のjquery変数にアクセスして、これらの関数を持たなくなります。 –

+1

両方にjqueryを含めないでください。 –

答えて

0

これは単にアセットパイプラインの仕組みです。あなたがそれらのファイルの両方を必要とするページがある場合は、新しいマニフェスト

file3.js 

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

を作成それからちょうどページ上のファイル3

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

+0

リソースプラグインが使用されていた以前のバージョンのGrails(2.xx)ではこれは問題ではなかったので、私はかなり混乱しています。従属jsファイルは一度だけ解決されますか?例えば上記の例のようにfile1.jsとfile2.jsの両方にjqueryが必要な場合 –

+0

はい。これはリソースとはまったく異なるプラグインなので、あなたの混乱はどこから来ているのか分かりません。したがって、動作が異なります。 –

+0

私はそれが別のプラグインだと知っていますが、それはGrailsで使われています。それは新しいバージョンであるため、古いGrailsと同じように使用されると期待されます。ドキュメントには、HTMLに何を入れるべきか、そして複製がどのように解決されるのかについては何もないので、古い方法で使うと思いました。明確化のためにありがとう! –

関連する問題