我有这个gulpfile.js代码:
gulp.task('make_prod_index', function () {
gulp.src('index.html')
.pipe(replace('content/bundles/css.min.css', 'content/bundles/css.min.css&12345'))
.pipe(rename("index-prod.html"))
.pipe(gulp.dest('./'));
});
我在想的是,如果我可以在&
中添加gulpfile,然后在每次发布时添加一些不同的数字。
这是否可以确保css不被缓存?如果是这样,我怎样才能确保每次发布时都添加不同的数字?
答案 0 :(得分:1)
您可以获取文件的md5哈希并将其附加到文件中,如下所示:
...
var md5File = require('md5-file')
gulp.task('make_prod_index', function () {
gulp.src('index.html')
.pipe(replace('content/bundles/css.min.css', 'content/bundles/css.min.css?' + md5File('content/bundles/css.min.css')))
.pipe(rename("index-prod.html"))
.pipe(gulp.dest('./'));
});
但是,最好更改大多数缓存的文件名,以避免附加查询字符串。某些缓存会将带有查询字符串的文件视为动态文件,并且不会缓存它们。
可以使用gulp-rev任务完成,有关详细信息,请查看docs。根据您的解决方案,可能需要更多工作。但是从我看到的你可以选择简单的gulp-rev-replace。