0

Resources プラグインを使用して Grails 2.5.2 アプリケーションを取得し、CKEditor に対して行われたキャッシュ無効化の変更を処理することができません。リソース プラグインは次のように構成されます。

grails.resources.adhoc.patterns = ['/js/*', '/images/*', '/css/*', '/plugins/*', '/thirdparty/*', '/templates/*']
grails.resources.adhoc.includes = ['/js/**', '/images/**', '/css/**', '/plugins/**', '/thirdparty/**', '/templates/**']

CKEditor コードは以下に配置されapp-dir/web-app/thirdparty/ckeditor、現在のバージョンは 4.5.9 です。キャッシュ無効化の変更は 4.5.5 で行われ、バージョン 4.5.4 は grails で完全に動作しresourcesます。

4.5.9 でアプリを実行すると、コンソールに次のエラーが表示されます。

GET resource:/thirdparty/ckeditor/skins/moono/icons.png?t=a35abfe net::ERR_UNKNOWN_URL_SCHEME

プラグインが ckeditor の editor.css ファイル (アプリによって提供されるファイルがasを指す)resourcesの値にうまく対応していないようです。このファイルを直接見ると、icons.png および icons_hidpi.png ファイルに次のものが含まれており、プラグインが画像ファイル リンク (実際には最初のものを除くすべて) を "resource:/.. ." そこにある必要のない URL であるため、コンソール エラーが発生します。不思議なことに、このように変更されるのは、t パラメーターを持つ icons.png および icons_hidpi.png ファイルだけであり、同じファイル内の他の画像ファイルはそのまま残ります。app-dir/thirdparty/ckeditor/skins/moono/editor.css?t=G4CDhttp://localhost:8080/app-dir/static/thirdparty/ckeditor/skins/moono/editor.css?t=G4CDresourceseditor.css

.cke_button__bold_icon {background: url(icons.png?t=a35abfe) no-repeat 0 -0px !important;}
.cke_button__italic_icon {background: url(resource:/thirdparty/ckeditor/skins/moono/icons.png?t=a35abfe) no-repeat 0 -24px !important;}
.cke_button__strike_icon {background: url(resource:/thirdparty/ckeditor/skins/moono/icons.png?t=a35abfe) no-repeat 0 -48px !important;}
.cke_button__subscript_icon {background: url(resource:/thirdparty/ckeditor/skins/moono/icons.png?t=a35abfe) no-repeat 0 -72px !important;}

次の構成を追加すると、アプリが実行され、完全に表示されます。

grails.resources.processing.enabled = false

私が使用する場合

grails.resources.mappers.cssrewriter.excludes = ['/thirdparty/ckeditor/skins/moono/**']

ファイルのresources変更を防止しようとして、何も変わっていないようです。ckeditor's editor.css

私に何ができる?修正しようとしている相互作用があるため、ckeditor を 4.5.4 のままにしておくことはできません。別の投稿で推奨されているのと同じ構成を既に使用していますが、それでも問題は解決しません。CSS 書き換えを完全に無効にすると、他のプラグインが壊れてしまいます。

4

1 に答える 1

1

最終的な解決策 (同僚が推奨) は、特定の CSS ファイルを で処理されないようにすることgrails resourcesです。

resource url:"thirdparty/ckeditor/skins/moono/editor.css", exclude: "*"

これにより、アップグレードされた CKEditor の影響を受けなかった、または による処理の恩恵を受けた他のファイルへの影響を回避できますgrails resources

于 2016-06-24T05:20:14.163 に答える