V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
dufu

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

  •  
  •   dufu · Jun 28, 2018 · 6644 views
    This topic created in 2860 days ago, the information mentioned may be changed or developed.

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

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

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