flask--> 使用者不知清缓存,会导致页面部分数据不正确或者没有
解决方法一: 改变静态文件名称,与上次名字不一致。缺点:有时候开发者会忘记,操作麻烦,让开发者精力集中在业务上。
方法二: 听说有个 gulp 可以管理静态文件,具体教程各位大佬有?
方法三(主要想要这种方法): 有 python 或者 flask 相关的包,来管理这些静态文件?
![]() | 1 shanlan 2019-07-04 14:32:40 +08:00 我看到别人 Javascript 的 scr 后面带了?版本号。 比如现在这个页面,你查看源代码就可以看到; <script src="http://www.v2ex.com/static/dist/combo.js?v=c60a80c85dcdff5b64f7ce14139b2435" type="text/Javascript" defer></script> |
2 jinksw 2019-07-04 14:34:47 +08:00 js 后面拼时间戳参数就行了 |
3 wdspro 2019-07-04 14:36:30 +08:00 webpack 啊 |
![]() | 4 mcfog 2019-07-04 14:40:03 +08:00 所以开发阶段为什么会有使用者? |
5 VDimos 2019-07-04 14:41:07 +08:00 via Android 你们没用 webpack ? |
![]() | 6 palmers 2019-07-04 14:43:21 +08:00 如果没有用 webpack 可以直接在后面添加时间戳 那每次加载 js 都是最新的 获取找找其他的类似 JSLoader 之类的工具 |
7 csp318 OP 是供公司内部使用的,运营边使用边提出需求 |
![]() | 10 gz911122 2019-07-04 14:47:27 +08:00 webpack 了解一下 |
12 wwwz 2019-07-04 14:50:20 +08:00 webpack 和 gulp 都行,原理就是自动帮你改静态文件名。 |
![]() | 14 learnshare 2019-07-04 14:56:24 +08:00 gulp 也行 |
16 Caballarii 2019-07-04 15:03:13 +08:00 请求后面都带随机数,每次都强刷好了 |
17 2805408253 2019-07-04 15:10:12 +08:00 js url 加一个时间戳参数就可以了,作用是每次都会请求最新的 js 文件。 例如: 1.js?timestamp=2123122232323 |
18 wednesdayco 2019-07-04 15:21:42 +08:00 地址后加 search 串可穿透缓存 |
19 csp318 OP @wednesdayco <script src="http://www.v2ex.com/static/dist/combo.js?v=c60a80c85dcdff5b64f7ce14139b2435" type="text/Javascript" defer></script> 这样?就是问号后面随意写? |
20 LiMengBo 2019-07-04 15:26:25 +08:00 直接加随机字符串时间戳也可以 |
21 wednesdayco 2019-07-04 15:34:07 +08:00 @csp318 随便写就算你在?后面写个小说应该都没问题。[doge] |
![]() | 23 limuyan44 2019-07-04 15:42:12 +08:00 via Android 只是内部用,你搞个时间戳就行了,没必要搞那么麻烦,解决问题不需要 1 分钟 |
![]() | 24 zekee 2019-07-04 15:44:29 +08:00 不写的话,你的 js 文件被缓存到本地了,就不会重新加载了 写了以后,你的 js 文件每次都不一样,都会重新加载 webpack 自动加 |
25 fengbjhqs 2019-07-04 16:08:19 +08:00 叫他 刷新用 ctrl+f5 webpack 在你电脑打开以后,如果在局域网可以访问你的 ip, 如果不在一个局域网, 可以用内网穿透,不过没有必要 自己找个地方搭建个上传不就可以了, 告诉他这个就是开发环境 |
![]() | 26 play78 2019-07-04 16:18:45 +08:00 用 nginx 代理一下,设置 expires = -1 表示浏览器不缓存即可。 |
![]() | 27 play78 2019-07-04 16:19:21 +08:00 |
29 lscho 2019-07-04 17:25:09 +08:00 ![]() ctrl+F5 能实现的事非得搞出点其他东西。。。路径后面加时间戳也能实现的东西非得搞出点其他东西。。。webpack 和 gulp 都能实现的东西,百度搜一下就知道了,人家都回复你了,还得问具体咋设置 |
30 lostpupil 2019-07-04 17:52:34 +08:00 abc.js => abc-flsadjfasldkfjaslkdjfads.js 加上一串奇怪的 hash 就行了。 基本上 webpack gulp 这些东西 build 时候都可以给你加上一串 hash 的。 然后 你需要做的就是在 前端页面 动态的修改 script 标签里面的 引用。 |
![]() | 31 keventseng 2019-07-05 09:55:01 +08:00 简单直接在静态文件后增加时间戳,毕竟是内部使用。 |