js css等静态文件版本控制,增加版本号

日常web开发中,我们修改了js、css等静态资源文件后,如果文件名不变的话,客户端浏览并不会及时获取最新的资源文件,这就很尴尬了

怎么办呢?

1.小白:让客户清除缓存?,No , 不靠谱

2.初级:把文件名改了?,可以,但我们产品样式一天更新8百次,怎么办?不方便



...

3.中级:加版本号?,可以,但这个文件,我们有好几个地方用,版本号都加的乱咯? 不方便

4.中高级:自己搞个,一处配置多处更新(附上angular 1 集成项目配置)

config.json
{
"appVersion": "alpha 0.0.3",
}
主程序文件main.js
getJSON("config.json?" + (new Date()).getTime(), function (config) {
    //全局配置
    window.EcaConfig = config;
    require.config({urlArgs: "v=" + EcaConfig.appVersion});
    //启动
    require(['start']);
})
//配置默认添加版本号
    app.config(['$httpProvider', function ($httpProvider) {
        var version = EcaConfig.appVersion;
        $httpProvider.interceptors.push(['$q', '$templateCache', function ($q, $templateCache) {
            return {
                'request': function (config) {
                    if (!$templateCache.get(config.url) && config.url) {
                        if (config.url.indexOf('?') > 0) {
                            config.url = config.url + '&v=' + version;
                        } else {
                            config.url = config.url + '?v=' + version;
                        }
                    }
                    return config || $q.when(config);
                }
            }
        }]);
    }])


你可能感兴趣的:(js css等静态文件版本控制,增加版本号)