grails resources pluginを使用しています。クライアントでは、require.jsを使用して js を取得しています。
私のrequire.js設定 -
baseUrl: '/js/lib',
リソースプラグインが有効になっている場合 -
- ブラウザは/js/lib/abc.jsのリクエストを行い、約 300 ミリ秒を無駄にします
- サーバーに到達すると、/static/2432yi4h32kh4232h4k2h34ll.js にリダイレクトされます。
- ブラウザはキャッシュ内でこのファイルを見つけて提供します。
だから私は - を使ってcached-resourcesプラグインを無効にしました
grails.resources.mappers.hashandcache.excludes = ['**/*.js']
そして新しいrequire.js設定 -
baseUrl: '/static/js/lib',
urlArgs: "bust=" + application_version,
cached -resourcesを削除すると、リダイレクトの問題が解決されましたが、js ファイルに設定されていた expires ヘッダーも削除されたため、ブラウザは js ファイルをまったくキャッシュしませんでした。
キャッシュされたリソースで名前のハッシュのみを無効にし、設定された有効期限ヘッダーを保持するにはどうすればよいですか。それ以外の場合、これらのヘッダーを設定するために使用できる Grails 用のプラグインはありますか。それらは Resources プラグインとうまく連携します。
TomcatとHaproxyを使用してコンテンツを提供しています。