dojo は複数の JavaScript ファイルを一つにまとめることができます。
dojo は、dojo.require(名前空間名); というような書き方をすると、ダイナミックに JavaScript をロードしてくれます。しかし、個別のファイルをダイナミックにロードすると時間がかかってしまいます。そこで、ビルドしてファイルを一つにすると、Web ページの読み込みを高速化できます。(また、ダイナミックロード時は JavaScript がブラウザにキャッシュされていないようです。)
Kodougu を試された方はお気づきかもしれませんが、Kodougu は起動に数秒かかります。環境によりけりですが、起動時間のうち、JavaScript の DL 時間が 0.5 秒 から 5 秒程度かかっています。時間を計ったわけではありませんが、Kodougu では dojo に関するファイルを一本化するだけで八割方削ることができました。
以下、ビルド手順です。
dojo 本家のリファレンスはこちらです。
■ 前提条件
JDK 1.4.2 以降(1.5 以降推奨)
Ant 1.6.5 以降
■ 手順
1. ソースコードのダウンロード
私が調べた限りでは、dojo の HP から DL できる Ajax Edition にはビルドスクリプトが含まれていませんでした。Subversion から チェックアウトしてください。
http://svn.dojotoolkit.org/dojo/tags/release-0.4.2/
(2007/5/14 時点での最新タグ)
2. hoge.profile.js の作成
以下のような Profile を作成します。ビルド時の依存関係を記述するためのファイルです。dependencies には、dojo.require(); で指定した名前を記述してください。
var dependencies = [
"dojo.io.*",
"dojo.event.*",
"dojo.xml.*",
"dojo.graphics.*",
"dojo.io.BrowserIO",
"dojo.widgets.*",
"dojo.widgets.Button"];
load("getDependencyList.js");
プロファイルは {{Dojo Dir}}/buildscripts/profiles においてください。命名規則(*.profile.js)を守ると作業が楽です。
3. ビルドの実行
{{Dojo Dir}}/buildscripts/ に移動して、以下のようなコマンドを実行してください。
ant -Ddocless=true -Dprofile=kodougu clean release intern-strings strip-resource-comments
- Dprofile という引数にプロファイル名(*.profile.js の * の部分)を指定してください。
{{Dojo Dir}}/release/dojo/dojo.js が生成されます。このファイルに、全ての JavaScript が含まれます。
dojo のリファレンスの「Including Non-Dojo Resources」を参照すれば、自作の JavaScript をビルドに含める方法もわかります。(dojo.provide() してやる必要がありますが・・・。)
以上、dojo のビルド手順でした。