Flask项目修改外部JS后仍执行旧代码问题求助
解决Flask静态JS文件修改后不生效的问题
出现这种情况核心原因是浏览器缓存了旧的静态资源,或者Flask开发环境默认启用了静态文件缓存,以下是具体解决步骤:
1. 强制刷新浏览器缓存
直接在页面按下对应快捷键,强制浏览器重新加载所有资源、忽略本地缓存:
- Windows/Linux:
Ctrl + Shift + R - Mac:
Cmd + Shift + R
2. 关闭Flask的静态文件缓存
在Flask主应用代码中添加配置,彻底关闭静态文件的缓存机制:
from flask import Flask app = Flask(__name__) # 关闭静态文件的缓存有效期 app.config['SEND_FILE_MAX_AGE_DEFAULT'] = 0 # 或者开启调试模式(调试模式会自动禁用静态缓存,同时支持代码热重载) if __name__ == '__main__': app.run(debug=True)
3. 给静态文件添加版本标识(持久方案)
在HTML引用静态文件时手动添加版本参数,每次修改JS后更新版本号,让浏览器识别为新资源:
<script src="{{url_for('static', filename='test.js')}}?v=2"></script>
比如首次用v=1,修改JS后改成v=2,浏览器就会重新下载最新的test.js文件。
内容的提问来源于stack exchange,提问作者Suhaas Vellanki
相关产品推荐
相关产品推荐

