ほとんどのビューで使用される基本レイアウトファイルがあります。ベースレイアウトでは、grailsリソースプラグインを使用するモジュールが必要です。cssファイルが変更されたときにブラウザがcssファイルをキャッシュしないようにするにはどうすればよいですか?
<r:require module="core"/>
モジュールは今ここに問題がある
modules = {
core {
resource url: '/css/main.css'
resource url: 'js/application.js'
}
}
としてのconf/ApplicationResources.groovyファイルで定義されています。私はmain.cssファイルに変更を加え、アプリケーションをビルドします。変更はブラウザに反映されません。ソースを表示してからcssファイルをクリックし、そのcssファイルを更新すると更新されます。ブラウザはcssファイルをキャッシュします。私は上記のコードにバージョンを追加しようとしました
modules = {
core {
resource url: '/css/main.css?version=2'
resource url: 'js/application.js'
}
}
これも動作しません。生成されたCSSのリンクタグを見ると、CSSファイルが
<link href="/app/static/bundle-bundle_core_head.css" type="text/css" rel="stylesheet" media="screen, projection" />
であることがわかります。なぜバージョンが機能していないのかが分かります。私は最後の手段として試しました
<link href="/app/static/bundle-bundle_core_head.css?version=2" type="text/css" rel="stylesheet" media="screen, projection" />
最終的にCSSファイルが更新されました。しかし、私はこのソリューションはハックだったので使用できません。
私の質問は、cssファイルがgrailsリソースプラグインを使用している間にcssファイルを変更すると自動的に更新される方法です。
リソースプラグイン
http://grails.org/plugin/resources
私が使用していますGrailsのバージョンは2.2で、リソースプラグインのバージョンは1.1.6です。
私はTomcatを使用しています。 – kofhearts