djConfigについて

 Dojo Toolkit 1.2を使うに当たって、ちょっと時間があったもので、dojo.jsからソースを眺めていたら、dojo.jsの次に読み込まれる/dojo/_base/_loader/bootstrap.jsに、主立ったdjConfigのオプションについて書かれていましたのでメモしてみました。
 djConfigとは、

<script type="text/javascript">|
var djConfig = {isDebug: true, parseOnLoad: true}
</script>
<script type="text/javascript" src="/dojo/dojo/dojo.js"></script>

とするか、

<script type="text/javascript" src="/dojo/dojo/dojo.js" djConfig="isDebug: true, parseOnLoad: true"></script>

のように、dojo.jsを読み込むときに指定して、Dojoの動きをコントロールするものです。こちらのページの説明がわかりやすいです。

isDebug: Boolean

デフォルトはfalse。tureに設定すると、Dojoデバッグ出力をFirebugにより提供する。Firebugがプラットフォームで利用できない場合でもisDebugをtrueに設定しているとDojoパッケージに含まれるFirebug Liteバージョンにより強制的に表示される。isDebugが有効になっているとdebuggingとloggingコンソールを常に提示する。Firebugのconsole.*が常にDojoによるものであることに注意。isDebugが無効になっているか、そのプラットフォーム用のFirebugがないとこれらは定義されない。

debugAtAllCosts: Boolean

デフォルトはfalse。trueに設定すると、パッケージの評価モードとなり、<script>タブに含まれる順序でリソースが評価される。これはdojo.require()によって2重に読み込まれたりする時のパフォーマンス問題を発見できる。debugAtAllCostsのデバッグは貴重だが、これを使うときはすべてのコードでDojoモジュールがdojo.addOnLoad()に含まれることを確認すべき。debugAtAllCostsを使うことによる予測できない副作用があるので、最後の手段として用いること。ドメインを超えたロードではdebugAtAllCostsは影響しない。使用方法はDojo Bookを参照のこと。

locale: String

localeはRFC 3066で規定されているようなページの国際化リソースを考慮する。小文字で指定すること。例えば、en-usやzh-cnのように。dojo.i18ndojo.requireLocalizationに国際化リソースについて詳しい説明がある。localeを指定しないと、Dojoはnavigator.userLanguageかnavigator.languageによるuser agentから推測する。

extraLocale: Array

デフォルトでは値なし。dojo.requireLocalization()で呼ばれる時に、デフォルトのlocaleに対して追加のlocaleを列挙できる。

baseUrl: String

dojo.jsが存在するディレクトリ。通常、Dojoは現在の場所を自動的に使用する。baseUrlを設定する必要があるのは、dojo.jsのファイル名を変更しているか、<base>タグが、あるブラウザー(例えばIE 6)でおかしくなる場合。変数dojo.baseUrlには、指定するか自動的に決定したdjConfig.baseUrlの値が割り当てられる。他のモジュールの場所もこのパスで決まる。

modulePaths: Object

dojo.baseUrlに対して、モジュールの位置へのパスを追加設定する。キーと値のペアでdojo.registerModulePathに対応したディレクトリを指定する。djConfig.modulePaths = { "foo": "../../bar" }と指定するのは、dojo.registerModulePath("foo", "../../bar");とするのと同じ。複数のモジュールがdjConfig.modulePathsを通じて設定できる。

afterOnLoad: Boolean

ページロード後に、ページに追加されるDojoがある(下のdjConfig.addOnLoadなどで)。この場合、DojoはページのDOMContentLoadやloadイベントを待つのではなく、dojo.requireによるモジュールがすべてロードされてからdojo.addOnLoadが実行される。デフォルトはfalse。

addOnLoad: FunctionまたはArray

dojo.addOnLoadのコールバックに追加する。ページロード後にDojoを追加するのに使えて、同時にdjConfig.afterOnloadはtrueに設定される。dojo.addOnLoadと同じようにいくらかの引数をサポートする。djConfig.addOnLoad = function(){};やdjConfig.addOnLoad = [myObject, "functionName"];やdjConfig.addOnLoad = [myObject, function(){}];など。

require: Array

ページにあるdojo.jsのすぐ後にロードされるモジュール名の配列。