Flask应用未反映新的JS更改

2024-04-23 11:16:04 发布

您现在位置:Python中文网/ 问答频道 /正文

我的烧瓶服务器中有以下代码:

    res = Response(resp, mimetype='text/plain')
    res.headers["Cache-Control"] = "no-cache, no-store, must-revalidate"
    res.headers["Pragma"] = "no-cache"
    res.headers["Expires"] = "0"

    return res

在客户端,我有一些javascript代码(在static/JS/文件夹中),我不断地编辑这些代码,同时修复错误等等。但是,当我在一个普通的chrome窗口中刷新页面时(即使我关闭浏览器并重新启动它),我对javascript代码所做的更改(例如添加警报或调试语句)不会执行。这意味着它将继续运行较旧的(缓存副本)。当我使用匿名窗口时,刷新工作正常。有没有一种方法可以让普通的浏览器窗口总能获取最新的代码?我担心在生产环境中浏览器将使用缓存副本并导致问题。在


Tags: no代码text服务器cache烧瓶response副本
1条回答
网友
1楼 · 发布于 2024-04-23 11:16:04

当浏览器更改文件的url时,无法确保更改文件的技巧。这可以在不更改文件名的情况下完成,方法是附加一个查询:

<script src="myscript.js?version=7">

或者,更好的是:

^{pr2}$

您可以创建一个函数,该函数用文件的实际时间戳生成URL。这样,只要不更改,浏览器就会缓存它。在

如果你想知道。。。查询将被忽略。它不影响静态文件。在

相关问题 更多 >