ドキュメント

§RequireJS

RequireJSのウェブサイトによると

RequireJSは、JavaScriptファイルおよびモジュールローダーです。ブラウザでの使用に最適化されていますが、他のJavaScript環境でも使用できます... RequireJSのようなモジュール式スクリプトローダーを使用すると、コードの速度と品質が向上します。

実際には、RequireJSを使用してJavaScriptをモジュール化できることを意味します。RequireJSは、Asynchronous Module Definitionと呼ばれる半標準APIを実装することでこれを実現します(他の同様のアイデアにはCommonJSが含まれます)。AMDを使用すると、サーバー側の最適化を許可しながら、クライアント側でJavaScriptモジュールを解決およびロードすることが可能になります。サーバー側の最適化のために、モジュールの依存関係はUglifyJS 2を使用して最小化および結合できます。

慣例により、RequireJSはモジュールローダーをブートストラップするためにmain.jsファイルを期待しています。

§デプロイメント

RequireJSオプティマイザーは、一般的に、デプロイメントを実行する時まで、つまりstartstage、またはdistタスクを実行する時まで起動するべきではありません。

ビルドでWebJarsを使用している場合、RequireJSオプティマイザープラグインは、WebJar内から参照されているJavaScriptリソースがjsdelivr CDNから自動的に参照されるようにします。さらに、.min.jsファイルが見つかった場合は、.jsの代わりに使用されます。ここでの追加ボーナスは、HTMLに必要な変更がないことです!

§有効化と設定

RequireJSの最適化は、PlayJavaまたはPlayScalaプラグインを使用しているときに、プラグインをplugins.sbtファイルに追加するだけで有効になります。

addSbtPlugin("com.github.sbt" % "sbt-rjs" % "2.0.0")

アセットパイプラインにプラグインを追加するには、次のように宣言できます(パイプライン用のプラグインが1つだけであると仮定します。必要に応じて、digestやgzipなどの他のプラグインをシーケンスに追加します)。

pipelineStages := Seq(rjs)

RequireJSオプティマイザーの標準ビルドプロファイルが提供されており、ほとんどのプロジェクトで十分です。ただし、構成方法については、プラグインのドキュメントを参照してください。

RequireJSは多くの作業を実行し、TriremeでJVM内で実行される場合は動作しますが、パフォーマンスの観点からはjs-engineとしてNode.jsを使用するのが最適です。便宜上、SBT_OPTSsbt.jse.engineTypeプロパティを設定できます。たとえば、Unixでは次のようになります。

export SBT_OPTS="$SBT_OPTS -Dsbt.jse.engineType=Node"

構成方法については、プラグインのドキュメントを参照してください。

次へ: 組み込みHTTPフィルター


このドキュメントにエラーを見つけましたか?このページのソースコードはこちらにあります。ドキュメントのガイドラインを読んだ後、プルリクエストを自由に提出してください。質問や共有するアドバイスはありますか? コミュニティフォーラムに参加して、コミュニティとの会話を始めてください。