flask--> 使用者不知清缓存,会导致页面部分数据不正确或者没有
解决方法一: 改变静态文件名称,与上次名字不一致。缺点:有时候开发者会忘记,操作麻烦,让开发者精力集中在业务上。
方法二: 听说有个 gulp 可以管理静态文件,具体教程各位大佬有?
方法三(主要想要这种方法): 有 python 或者 flask 相关的包,来管理这些静态文件?
1
shanlan 2019-07-04 14:32:40 +08:00
我看到别人 JavaScript 的 scr 后面带了?版本号。
比如现在这个页面,你查看源代码就可以看到; <script src="/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="/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 1
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
简单直接在静态文件后增加时间戳,毕竟是内部使用。
|