zoukankan      html  css  js  c++  java
  • angular,require ,oclazyload项目如何加入版本控制

    具体github项目地址

    一个项目从上线了以后再维护,客户端由于有缓存报错了,这是了尴尬的时刻,因为他们不懂怎么清理缓存,这时候就要进行访问的时候就要进行强制刷新了,

    例如引入的css文件为

    <link rel="stylesheet" href="style.css">

    这样在服务端更新加入代码了,如何使客户端强制刷新

    简单粗暴的是直接改css名字,显然这是不科学的,改到自己都词穷。

    这时候我们可以用版本就行控制

    <link rel="stylesheet" href="style.css?v=1-0-0">

    这样可以强制刷新了

    注意你的css名字还是叫style.css只是你引入的时候加了?v=1-0-0

    当你下次再稍微该这个文件时,你的 可能就是?v=1-0-1

     

    grunt中有加入版本控制的方法,可以进行研究,后续我也会进行学习,到时候把只是分享到这里

    言归正传,require.js怎么加入版本号

    把reuirejs下面的代码

    return config.urlArgs && !/^blob:/.test(url) ?
                       url + config.urlArgs(moduleName, url) : url;

    替换为

    if (!config.urlArgs) {
        return url;
    }
    
    if (typeof config.urlArgs === 'string') {
        return url + ((url.indexOf('?') === -1 ? '?' : '&') + config.urlArgs);
    }
    
    //handle the urlArgs with a function
    //give each file it's own urlArgs
    if (isFunction(config.urlArgs)) {
        var urlArgs;
        try {
            urlArgs = config.urlArgs.call(config, moduleName, url);
        } catch (e) {
            urlArgs = "";
        }
    
        return url + ((url.indexOf('?') === -1 ? '?' : '&') + urlArgs);
    }

    https://github.com/xingkongwuyu/zhihu/blob/master/js/lib/require.js  可以参考这个

    配置怎么配置呢?这样

    <script type="text/javascript" src="require.js" data-main="main"></script>

    require.config({
        //你的配置+
     
        urlArgs:'v=1-9-2'
    })
  • 相关阅读:
    VuGen错误处理函数
    LR的日志
    创建性能测试脚本时如何选择HTML模式和URL模式
    Java变量
    查找&排序
    selenium执行JS
    Python中 is 和 == 的区别
    Python中 and or的计算规则
    selenium使用location定位元素坐标偏差
    错误:Could not find an available JavaScript runtime
  • 原文地址:https://www.cnblogs.com/heyinwangchuan/p/6659210.html
Copyright © 2011-2022 走看看