CSS と Javascript をバンドルするためにJAWRを使用しています。ダウンロードされるヒット数とバイト数が大幅に減少しました。しかし、最近、「制御下」にない css ファイルが「見つかりません」(404) コードを返すという問題に遭遇しました。解決策はありますが、より良い解決策があるかどうか疑問に思っています。
CSS ファイルの標準セットの CSS バンドルを定義し、それをロードするために使用します。「レガシー」レイアウトを定義するペアを含む、いくつかの非標準の css ファイルもあります。が搭載されています。最後に、CSS を提供する JAWR サーブレットは、web.xml の URL パターン「*.css」にバインドされました。この構成では、タグからの css ファイルに対する要求はすべて 404 コードを返しました。問題を解決する JAWR プロパティ設定の組み合わせを見つけることができませんでした。
私たちが思いついた解決策は、web.xml の JAWR サーブレット構成を変更して、「mapping」パラメーターを追加することでした。
<servlet>
<servlet-name>CssServlet</servlet-name>
<servlet-class>net.jawr.web.servlet.JawrServlet</servlet-class>
<init-param>
<param-name>configLocation</param-name>
<param-value>/jawr.properties</param-value>
</init-param>
<init-param>
<param-name>type</param-name>
<param-value>css</param-value>
</init-param>
<init-param>
<param-name>mapping</param-name>
<param-value>/jawrcss/</param-value>
</init-param>
<load-on-startup>2</load-on-startup>
</servlet>
CssServlet の URL パターンを「/jawrcss/*」に変更しました。この変更により、変更されていないタグからロードされた css ファイルは JAWR によって変更されません。ただし、これらのファイルに対する JAWR の圧縮機能は失われます。
私の推測では、JAWR がこれらのファイルを適切に処理するためには、タグをタグに変更する必要があり、その時点で JAWR の「孤立した」処理が正しいことを行うでしょう。これは、(少なくとも) いくつかの理由で問題があります。(1) 私たちは共有コード ベースを使用しており、それらのファイルを共有している他のファイルは JAWR を使用していないため、一部のファイルを「変更できません」。(2) 一部のファイルは JavaScript を使用して CSS を動的にロードしますが、それを JAWR サポートと組み合わせる方法がわかりません。
それで、私の質問は何ですか?
- タグから読み込まれた CSS ファイルを JAWR で (少なくとも圧縮して) 処理する方法はありますか? (主な質問です。)
- Javascript をロードした CSS で JAWR を使用する方法はありますか?