如题,大家一般都用什么方法强制浏览器更新 js 文件? 比如<script src="my.js?v=100"></script> 在引用的后面加一个类似版本号的标示符( v=100 ), 这样如果更新 my.js 文件,就把 v=100 变成 v=101 之类。
问题是用什么方法自动做这个事情,有什么框架之类的吗?
1
ragnaroks 2018-06-28 15:06:29 +08:00
?=输出这个会随着编译而自增的版本号
|
2
beastk 2018-06-28 15:07:00 +08:00 via iPhone
动态创建 js➕随机
|
3
cuzfinal 2018-06-28 15:07:23 +08:00
问你们公司的前端,
一般都是用 webpack 之类的打包工具,打包后的文件名带上哈希,每次打包都不一样。 |
4
chinvo 2018-06-28 15:08:34 +08:00
webpack 咯,自动打时间戳或者 hash
|
5
liyer 2018-06-28 15:22:49 +08:00
document.write("<script src=\"js.js?v=" + Math.random() + "\"><\/script>");
|
6
LeungJZ 2018-06-28 15:27:38 +08:00
webpack 每次打包只要文件被修改过,hash 值就变了。
|
7
mokeyjay 2018-06-28 15:44:44 +08:00
看样子你们没有在用 Webpack 之类的工具,那么可以这样:开发时直接给 js 后面接个 ?v=time() 即时间戳,强制每次更新。要打包上线了再手动给个固定版本号
|
8
dufu OP webpack good !!!!
谢谢各位!!! |
9
dufu OP 项目组还处在蛮荒时代,呵呵~~~~
|
10
Xrong 2018-06-28 19:19:47 +08:00
chrome 开启控制台,然后在设置里勾选 Disable cache (while DevTools is open)
|
12
betulachen 2018-06-28 21:07:00 +08:00 via iPhone
了解一下刷版本号
|
13
qa2080639 2018-06-29 09:13:49 +08:00
webpack 不缓存 html CDN 缓存 JS CSS
|
14
e8c47a0d 2018-07-09 15:00:32 +08:00
webpack 这类,比如我用 nuxt 里面打包以后,那些有变化的 js 的文件名末尾的 hash 都会变化。
|
15
fan776783 2018-07-13 09:39:45 +08:00
开发的话,把 web 服务器的 expire 设成-1,生产用 webpack 或者 requireJs 的话打包可以直接加 hash 的
|