【发布时间】:2015-06-07 12:34:45
【问题描述】:
我的 Yii 有一个愚蠢的问题,我的本地开发人员缓存 css 和 js 文件。当我尝试编辑文件时,它没有显示更改,但是火灾确实被破坏并破坏了一切。这种情况会不分青红皂白地发生一段时间,然后它会自行修复。
对于资产管理器,我的 Yii 配置是这样的:
$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]
);
这真是令人沮丧。任何人都可以阐明这里的问题吗?
【问题讨论】:
-
你看到附加到你的 javascript src 的时间戳了吗?此外,除非您使用符号链接,否则您不需要将 linkAssets 设置为“true”
-
@BalajiViswanath - 是的,它似乎没有添加它,但它存在于其他文件中。我在帖子中添加了更多信息。
-
您是否尝试过除 chrome 以外的其他浏览器来检查此问题是否存在于所有浏览器中?
-
@BalajiViswanath - 是的,问题在 Chrome、Firefox 和 Safari 中仍然存在
标签: javascript php css yii frontend