在 Yii 上缓存静态文件
Caching on Yii of static files
我在使用 Yii 时遇到了这个愚蠢的问题,我的本地开发人员缓存了 css 和 js 文件。当我尝试编辑文件时,它没有显示更改,但火确实被损坏并破坏了一切。这种情况会持续一段时间,然后自行修复。
我的 Yii 配置是这样的 assetManager:
$config['components']['assetManager']['forceCopy'] = true;
$config['components']['assetManager']['appendTimestamp'] = true;
$config['components']['assetManager']['linkAssets'] = true;
正如您在下面看到的,JS 文件在对鼠标悬停的其中一个字段进行小的颜色更改后结束。
当像所有其他资源一样包含它时,时间戳似乎没有附加到 JS 文件。
<script src="/custom/infobox.js?v=1427807792"></script>
<script src="/js/neighbourhoods-map.js"></script>
<script src="/js/search-block.js?v=1423510537"></script>
通过在视图文件中调用 registerJsFile() 包含该文件。
$this->registerJsFile('/js/neighbourhoods-map.js', [
'depends' => ['\app\assets\MapsAsset'],
'position' => View::POS_END]
);
我更改了上面的内容以包含时间戳,但问题仍然存在。
$this->registerJsFile('/js/neighbourhoods-map.js?v='.time(), [
'depends' => ['\app\assets\MapsAsset'],
'position' => View::POS_END]
);
处理起来太令人沮丧了。任何人都可以阐明这里的问题吗?
我在使用带有 nginx 的 Vagrant 时遇到了这个问题。
解决方案是从 nginx 配置中关闭 sendfile 指令。
sendfile off;
我在使用 Yii 时遇到了这个愚蠢的问题,我的本地开发人员缓存了 css 和 js 文件。当我尝试编辑文件时,它没有显示更改,但火确实被损坏并破坏了一切。这种情况会持续一段时间,然后自行修复。
我的 Yii 配置是这样的 assetManager:
$config['components']['assetManager']['forceCopy'] = true;
$config['components']['assetManager']['appendTimestamp'] = true;
$config['components']['assetManager']['linkAssets'] = true;
正如您在下面看到的,JS 文件在对鼠标悬停的其中一个字段进行小的颜色更改后结束。
当像所有其他资源一样包含它时,时间戳似乎没有附加到 JS 文件。
<script src="/custom/infobox.js?v=1427807792"></script>
<script src="/js/neighbourhoods-map.js"></script>
<script src="/js/search-block.js?v=1423510537"></script>
通过在视图文件中调用 registerJsFile() 包含该文件。
$this->registerJsFile('/js/neighbourhoods-map.js', [
'depends' => ['\app\assets\MapsAsset'],
'position' => View::POS_END]
);
我更改了上面的内容以包含时间戳,但问题仍然存在。
$this->registerJsFile('/js/neighbourhoods-map.js?v='.time(), [
'depends' => ['\app\assets\MapsAsset'],
'position' => View::POS_END]
);
处理起来太令人沮丧了。任何人都可以阐明这里的问题吗?
我在使用带有 nginx 的 Vagrant 时遇到了这个问题。
解决方案是从 nginx 配置中关闭 sendfile 指令。
sendfile off;