0

我正在使用CKEdtior在我的CommonJS模块化JavaScript程序包中使用。 我遇到的问题是CKEditor资产被缓存在某处。我认为这是浏览,但我不完全确定。使用grunt-browserify使用shimmed package.json缓存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'); 

回答

0

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

我改变了,需要这样:

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

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

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