0

CommonJS モジュラー javascript パッケージ内で使用する CKedtior をシムしています。私が抱えている問題は、CKEditor アセットがどこかにキャッシュされていることです。browserifyだと思いますが、よくわかりません。

キャッシュされたアセットは次のとおりです。

<script type="text/javascript" src="http://192.168.68.8/cart-admin/ckeditor_4.5.6/config.js?t=FB9E"></script>

このアセットは手動でページに配置されるのではなく、JS モジュールがコースを実行するときに CKEditor によって生成されます。

上記のように、クエリ文字列はアセットをキャッシュします。ただし、config.js を更新すると、アセットは引き続きキャッシュされ、古いバージョンが提供されます。JavaScript モジュールを再構築しても、クエリ文字列キャッシュは同じままで、古いアセットが残っています。

それを破る方法はありますか?それとも、これについて間違っていますか?

パッケージ.json

"browser": {
  "ckeditor": "./ckeditor_4.5.6/ckeditor.js",
  "ckjquery": "./ckeditor_4.5.6/adapters/jquery.js"
},
"browserify-shim": {
  "ckeditor": "ckeditor",
  "ckjquery": "ckjquery"
}

JS モジュール

window.CKEDITOR_BASEPATH = 'ckeditor_4.5.6/';
require('ckeditor');
require('ckjquery');
4

1 に答える 1

0

ここで答えを見つけました: Force CKEDITOR to refresh config

次のように要件を変更しました。

window.CKEDITOR_BASEPATH = 'ckeditor_4.5.6/';
require('ckeditor');
require('ckjquery');
CKEDITOR.timestamp='';

CKEDITOR.timestamp='';が鍵でした。?t=キャッシュ文字列がアセット URL に追加されなくなりました。

これが「正しい」かどうかはわかりませんが、最新のファイルを使用していることを確認できます。おそらく本番環境では、バージョン管理されたクエリ文字列を追加します...

于 2016-07-15T18:26:12.043 に答える