Активы CKEditor кэшируются с использованием shimmed package.json с grunt-browserify

Я использую CKEdtior для использования в моем модульном пакете javascript CommonJS. Проблема, с которой я сталкиваюсь, заключается в том, что ресурсы CKEditor кэшируются где-то вдоль линии. Я думаю, что это браузер, но я не совсем уверен.

Кэшированный ресурс как таковой:

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

Этот ресурс не добавляется на страницу вручную, он создается CKEditor, когда модуль JS выполняет свою работу.

Как видно выше, строка запроса кэширует ресурс. Однако, если я обновлю config.js, ресурс все еще будет кэшироваться, и будет использоваться старая версия. Даже если я пересоберу свой модуль javascript, кеш строки запроса останется прежним, и я застрял со старыми активами.

Есть ли способ сломать его? Или я неправильно об этом говорю?

package.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');

person Gurnzbot    schedule 15.07.2016    source источник


Ответы (1)


Я нашел ответ здесь: Заставить CKEDITOR обновить конфигурацию

Я изменил требования как таковые:

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

CKEDITOR.timestamp=''; был ключом. Теперь строка кэширования ?t= больше не добавляется к URL-адресам активов.

Не уверен, что это «правильно», но это гарантирует, что я использую самые последние файлы. возможно, в производстве я добавлю версионную строку запроса...

person Gurnzbot    schedule 15.07.2016