クライアントサイドのHTMLテンプレートは、ブラウザ向けに構築される特定の種類の最新の豊富なクライアントアプリケーション、特にSPAにとって重要な前提条件です。これらの機能を実現するために、Backbone、Angular、Ember、Knockoutなどのフレームワークでは、クライアントサイドでテンプレートを読み込む必要があります。これは従来のサーバーサイドビューとは完全に分離されています。新しいSailsアプリケーションは、すぐに使える状態で両方の利点をサポートしています。
アプリケーションでクライアントサイドテンプレートを使用するかどうか、どこに配置するかは、もちろん完全にユーザー次第です。しかし、慣例として、Sailsで生成される新しいアプリケーションには、デフォルトでtemplates/
フォルダが含まれています。
デフォルトでは、Gruntfileはassets/templates
フォルダ内のクライアントサイドJSTテンプレートを自動的に読み込み、プリコンパイルし、それらをlayout.ejs
ビューに自動的に含めます(TEMPLATESとTEMPLATES ENDの間)。
<!--TEMPLATES-->
<!--TEMPLATES END-->
これにより、HTMLテンプレートはクライアントサイドJavaScriptから使用できる、window.JST
上のプリコンパイルされた関数として公開されます。
この動作をニーズに合わせてカスタマイズするには、Gruntfileを編集するだけです。例えば、以下のようなことができます。
詳細については、Sailsのアセットパイプラインを構成するデフォルトのGruntタスクに関する概念的なドキュメントを参照してください。