jQueryでdojo.requireみたいなことをやる。

http://plugins.jquery.com/project/require

dojoにはdojo.requireという便利なJavaScript非同期読み込み機能がある。dojoの容量の割に体感速度が速いのは必要なライブラリのみdojo.requireで読み込んでいるからである。これに対しjQueryではheadタグのscriptタグで呼び出しているため効率が悪い。しかし、このjquery.requireを使えば若干これを早くすることができる。

仕組みは、スクリプトそのものをajaxでページに埋め込む形に近い。jQueryはモジュール設計ではないためdojoほど早くはできないが、多数のプラグインを読み込むページなどではいい効果が期待できる。

まず、スクリプトのパスを$.scriptPathで設定し

$.scriptPath = "\root\static\js";

読みたいスクリプトをjQuery.requireで指定する。

jQuery.require("component1.js");

この括弧内は配列を使うことができる。

jQuery.require(["component1.js", "component2.js", "component3.js"])

でもいいし、

jQuery.require("component1.js").require(“some_jquery_plugin.js”);

でも、動作は等価である。