在Yii上缓存静态文件

时间:2015-04-02 14:04:43

标签: javascript php css yii frontend

我对Yii有这个愚蠢的问题,我的本地开发人员缓存css和js文件。当我尝试编辑文件时,它不会显示更改,但火灾确实会被破坏并破坏所有内容。这种情况发生在一些不加区别的时间,然后它自己修复。

我的Yii配置对于assetManager来说是这样的:

$config['components']['assetManager']['forceCopy'] = true;
$config['components']['assetManager']['appendTimestamp'] = true;
$config['components']['assetManager']['linkAssets'] = true;

正如您在下面所看到的,JS文件只是在对其中一个鼠标悬停字段进行小的颜色更改后结束。

JS file just ends

与其他所有资源一样,时间戳似乎不会附加到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]
);

这太令人沮丧了。任何人都可以对这里的问题有所了解吗?

1 个答案:

答案 0 :(得分:0)

我在使用Vagrant和nginx时遇到了这个问题。

解决方案是从nginx配置中关闭sendfile指令。

sendfile  off;