首页   注册   登录
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 · 18 天前 · 1270 次点击

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