§Google Closure Compiler を使う
Closure Compiler は、JavaScript のダウンロード・実行を高速化するためのツールです。Closure Compiler は、その名の通りコンパイラです。ただし、ソースコードを機械語へコンパイルするのではなく、JavaScript を良い JavaScript へコンパイルします。JavaScript コードはパース・分析され、不要なコードは削除され、必要に応じて書き換えられて、最終的には minify されます。
app/assets
ディレクトリ以下の JavaScript は全て Google Closure Compiler によりパースされて、エラーや依存性のチェックがされます。さらに、ビルド設定で有効にされている場合は minify されます。
§JavaScript のサニティチェック
JavaScript コードは compile
コマンドの実行時や、コードの変更時に自動的にコンパイルされます。他のコードのコンパイルエラー同様、JavaScript のコンパイルエラーもブラウザ上で確認できます。
§縮小
.js
が .min.js
に置き換えられた縮小版のファイルも生成されます。今回の例の場合、縮小版は test.min.js
となっていることでしょう。通常のファイルの替わりに縮小版を使いたい場合は、HTML ファイルにて script の source 属性を変更する必要があります。
§エントリポイント
デフォルトでは、ファイル名の先頭にアンダースコアが付いていない JavaScript ファイルはすべてコンパイルされます。この振る舞い意は project/Build.scala
にて javascriptEntryPoints
キーを上書きすることで変更できます。このキーは PathFinder
を保持しています。
例えば、 app/assets/javascripts/main
ディレクトリの .js
ファイルだけをコンパイルするには以下のようにします:
val main = PlayProject(appName, appVersion, mainLang = SCALA).settings(
javascriptEntryPoints <<= baseDirectory(base =>
base / "app" / "assets" / "javascripts" / "main" ** "*.js"
)
)
デフォルトの定義は以下のとおりです:
javascriptEntryPoints <<= (sourceDirectory in Compile)(base =>
((base / "assets" ** "*.js") --- (base / "assets" ** "_*")).get
)
次ページ: 依存性の管理に require.js を使う
このドキュメントの翻訳は Play チームによってメンテナンスされているものではありません。 間違いを見つけた場合、このページのソースコードを ここ で確認することができます。 ドキュメントガイドライン を読んで、お気軽にプルリクエストを送ってください。