在DOJO的新版本之后强制重新加载

时间:2015-10-26 08:07:20

标签: javascript dojo browser-cache

我提供的基础架构要求开发人员只包含一个简单的java脚本文件,然后包含其他文件,例如DOJO工具包。后来DOJO正在加载我的一些基础设施文件。

当我更新版本时,我只是告诉我的客户在<script src="...?ver=1.2">中包含版本号,这样它就不会从缓存中获取文件。

我的问题是(这个简单的文件正在重新加载但是)DOJO正在加载的其余文件仍在缓存中加载。

有没有办法用同样的技巧或其他方式强制我的浏览器此时从服务器获取文件,而不是从缓存中获取文件?

1 个答案:

答案 0 :(得分:2)

像往常一样,我正在发帖回答自己。但是分享答案所以它会使用其他人而不是删除帖子。

使用dojoConfig属性cacheBust是解决方案。

dojoConfig = {
    ...
    cacheBust="v=1.2.3",
    ...
}

DOJO documentation中,它声明当您发送true时,它会将时间添加为查询字符串。这意味着每个负载都来自服务器,而不是来自缓存。但我们可以做的是在我上面写v=1.2.3时添加常量字符串,并且这个字符串也将作为查询字符串添加,并且当从缓存或服务器加载版本时给予我们更多的权力