首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
华为云
V2EX  ›  JavaScript

怎样强制浏览器更新 js 文件

  •  
  •   dufu · 146 天前 · 1738 次点击
    这是一个创建于 146 天前的主题,其中的信息可能已经有所发展或是发生改变。

    如题,大家一般都用什么方法强制浏览器更新 js 文件? 比如<script src="my.js?v=100"></script> 在引用的后面加一个类似版本号的标示符( v=100 ), 这样如果更新 my.js 文件,就把 v=100 变成 v=101 之类。

    问题是用什么方法自动做这个事情,有什么框架之类的吗?

    15 回复  |  直到 2018-07-13 09:39:45 +08:00
        1
    ragnaroks   146 天前
    ?=输出这个会随着编译而自增的版本号
        2
    beastk   146 天前 via iPhone
    动态创建 js➕随机
        3
    cuzfinal   146 天前
    问你们公司的前端,
    一般都是用 webpack 之类的打包工具,打包后的文件名带上哈希,每次打包都不一样。
        4
    chinvo   146 天前
    webpack 咯,自动打时间戳或者 hash
        5
    liyer   146 天前
    document.write("<script src=\"js.js?v=" + Math.random() + "\"><\/script>");
        6
    LeungJZ   146 天前
    webpack 每次打包只要文件被修改过,hash 值就变了。
        7
    mokeyjay   146 天前
    看样子你们没有在用 Webpack 之类的工具,那么可以这样:开发时直接给 js 后面接个 ?v=time() 即时间戳,强制每次更新。要打包上线了再手动给个固定版本号
        8
    dufu   146 天前
    webpack good !!!!
    谢谢各位!!!
        9
    dufu   146 天前
    项目组还处在蛮荒时代,呵呵~~~~
        10
    Xrong   146 天前
    chrome 开启控制台,然后在设置里勾选 Disable cache (while DevTools is open)
        11
    julyclyde   146 天前
    @liyer 你这样会击穿 CDN 的
        12
    betulachen   146 天前 via iPhone
    了解一下刷版本号
        13
    qa2080639   145 天前
    webpack 不缓存 html CDN 缓存 JS CSS
        14
    e8c47a0d   135 天前
    webpack 这类,比如我用 nuxt 里面打包以后,那些有变化的 js 的文件名末尾的 hash 都会变化。
        15
    fan776783   131 天前
    开发的话,把 web 服务器的 expire 设成-1,生产用 webpack 或者 requireJs 的话打包可以直接加 hash 的
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   1068 人在线   最高记录 3911   ·  
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.1 · 17ms · UTC 17:51 · PVG 01:51 · LAX 09:51 · JFK 12:51
    ♥ Do have faith in what you're doing.
    沪ICP备16043287号-1