使用带有grunt-browserify的shimmed package.json缓存CKEditor资产

时间:2016-07-15 17:00:01

标签: javascript caching browserify package.json grunt-browserify

我正在填充CKEdtior以在我的CommonJS模块化javascript包中使用。 我遇到的问题是CKEditor资产被缓存在某个地方。我认为它是浏览器化的,但我并不完全确定。

缓存资产就是这样:

<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模块,查询字符串缓存也保持不变,而且我仍然坚持使用旧资产。

有没有办法打破它?或者我不正确地解决这个问题?

的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');

1 个答案:

答案 0 :(得分:0)

我在这里找到答案: Force CKEDITOR to refresh config

我改变了要求:

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

CKEDITOR.timestamp='';是关键。现在,?t=缓存字符串不再附加资产网址。

不确定这是否正确&#34;,但它确保我使用最新的文件。也许在生产中我会添加一个版本化的查询字符串...