我正在使用angular2构建一个systemJS项目。我用古普来部署。
我想避免让我的用户点击( Cntl +R)来摆脱缓存的css文件。
为此,我想使用Gulp进行文件修改。
知道我所需要的只是暂时改变一个css文件。所以我用:
知道我的css文件在一个名为: public的文件夹下。我的index.html也在公共/。
gulp.task("revision:rename", function () {
return gulp.src(["public/*.css"])
.pipe(rev())
// .pipe(revDel())
.pipe(gulp.dest('public'))
.pipe(rev.manifest())
.pipe(gulp.dest("public"))
});
gulp.task("revision:updateReferences", ["revision:rename"], function () {
gulp.src(["public/rev-manifest.json","public/*.css"])
.pipe(collect({
replaceReved: true,
dirReplacements: {
'css': 'public'
}
}))
.pipe(gulp.dest("public"))
});调用这些函数,我得到正确的css文件重命名,和一个正确的manifest.json。但我有两个问题
任何帮助都将不胜感激!谢谢
发布于 2018-09-28 10:56:17
1)删除部分:
您还可以使用此lib =require(‘require删除-原始’);
并在调用.pipe(rev())后,将其称为“revDelete()”。
2)对于参考部分(更新新的散列引用):
我使用gulp rev-替换lib
const revReplace =需要量(‘gulp rev-替换’);并将其称为".pipe(revReplace())“,并在".pipe(revDelete())”后面加上“.pipe(revDelete())”
我看到你找到了一个解决方案,但是,仅仅是展示一个替代方案,也许它在将来是有用的。
发布于 2017-11-02 13:46:13
看来我没有正确地使用收集器:
现在它与以下方面一起工作:
gulp.task("revision:updateCSS", ["revision:rename"], function () {
gulp.src(["public/rev-manifest.json","public/index.html"])
.pipe(collect({
replaceReved: false
}))
.pipe(gulp.dest("public"))
});我贴出了答案,以防有人挣扎。
https://stackoverflow.com/questions/47076058
复制相似问题