在开发的过程中,需要给html的静态资源加上一个随机数,避免版本迭代的时候取本地缓存文件,以下是使用nodejs,正则表达式编写的脚本,可以给css文件,js文件自动加上时间戳,支持已有时间戳二次处理
var fs = require('fs')
var path=require('path');
var filenames = [path.resolve(__dirname+'/test.html')];
// __dirname+'/cloud.html' 为具体的html文件,如果有多个文件,则添加到数组
var _t=+new Date();
filenames.forEach(function(item, index) {
fs.readFile(item,'utf8',function(err,files){
var result = files.replace(/href=["'].*\.css.*?["']/g, txt => {
// 去掉最后一个字符串
var str = txt.substr(0, txt.length-1);
var txts = str.split('?');
return `${txts[0]}?_t=${_t}"`
});
result = result.replace(/src=["'].*\.js.*?["']/g, txt => {
// 去掉最后一个字符串
var str = txt.substr(0, txt.length-1);
var txts = str.split('?');
return `${txts[0]}?_t=${_t}"`
});
fs.writeFile(item, result, 'utf8', function (err) {
if (err) return console.log(err);
});
})
});