2016-08-30 6 views
0

すべてのjsファイルを共通のclientlibカテゴリにまとめました。私は/etc/designs/myapp/clientlibs/base.jsにアクセスしたときの例クライアントライブラリの特定のjsファイルを呼び出すにはどうすればよいですか?

->etc 
    ->designs 
    ->myapp 
    -> clientlibs 
     -> base 
     -> js 
      -> app1.js 
      -> app2.js 
      -> app3.js 

についてだから、それはすべて含まJSからコンテンツを持つ一つの大きなマージされたJSを返します。このbase.jsから特定のjs(app2.jsなど)にアクセスする方法はありますか? /etc/designs/myapp/clientlibs/base/js/app2.jsのような相対パスを使うことができます。

しかし、このjsを返すためには(おそらく/clientlibs/base.app2.jsのようなセレクタを使用して)良い方法がありますか? これは特定のjsにアクセスするための唯一の方法ですか?

答えて

2

特定の.jsファイルにアクセスする方法は、相対パスを使用することです。クライアントライブラリはセレクタを介してアクセスするようには設計されていません。理想的には、スクリプトを単一のHTTP要求(複数のHTTP要求が1つ以上の読み込みに要する時間が長くなる)に統合するためのパフォーマンスが向上するため、常にクライアントライブラリ経由でJavaScriptをロードすることが望ましいでしょう。また、スクリプトを圧縮して小さくします。ですから、app1.jsのようなファイル内に完全な空白とコメントと書式を設定したソーススクリプトを用意することができますが、スクリプトのエンドユーザが必要としない空白とコメントを削除するベースクライアントlibを介してロードします。

クライアントライブラリの部分のみを使用する場合は、必要な部分のみを含む2番目のクライアントライブラリを定義できます。複数の異なるクライアントライブラリに同じソースファイル(app1.jsなど)を含めることができます。あなたのユースケースでは、これは最善のアプローチのように思えます。

デバッグでは、いつでも?debugClientLibs=trueクエリ文字列を追加して、ブラウザ内の個々のファイルを一時的に再表示することができます。

関連する問題