css - 使用 gulp-rev、gulp-rev-replace、gulp-rev-css-url 进行 Gulp 修订

标签 css gulp versioning gulp-rev

我正在尝试使用 gulp-rev、gulp-rev-replace 和 gulp-rev-css-url 重写对我的版本化图像文件的引用。

我已成功修改文件并将 list 与以下 gulp 代码合并:

gulp.task('revision', function(callback){
    runSequence('revision-images', 'revision-scripts', 'revision-css', 'revreplace',  callback);
});

gulp.task('revision-scripts', function(){
    return gulp
        .src('./build/*.js')
        .pipe(rev())
        .pipe(gulp.dest('./dist/build'))
        .pipe(rev.manifest({
            base: process.cwd(),
            merge: true
        }))
        .pipe(gulp.dest('./dist'));
});

gulp.task('revision-css', function(){
    return gulp
        .src('./build/*.css')
        .pipe(rev())
        .pipe(override())
        .pipe(gulp.dest('./dist/build'))
        .pipe(rev.manifest({
            base: process.cwd(),
            merge: true
        }))
        .pipe(gulp.dest('./dist'));
});

gulp.task('revision-images', function(){
    return gulp
        .src(['./static-assets/img/*.*'])
        .pipe(rev())
        .pipe(gulp.dest('./dist/static-assets/img'))
        .pipe(rev.manifest({
            base: process.cwd(),
            merge: true
        }))
        .pipe(gulp.dest('./dist'));
});

gulp.task("revreplace", function(){

    var manifest = gulp.src('./dist/rev-manifest.json');

    return gulp.src('./index.html')
        .pipe(revReplace({
            manifest: manifest
        }))
        .pipe(gulp.dest('./dist'));
});

这会在正确的位置生成合并的 list 文件,并生成正确版本的静态 Assets 。

问题在于它不会在版本化 CSS 中重写对版本化图像的引用。

运行'revision-css'时,我确实看到了对另一个CSS导入的更新引用,但图像引用仍然是未版本化文件的引用。

我使用运行序列包强制首先进行版本控制和 list 合并,以便替换最后执行,但我不确定运行序列是问题所在。

我的图像通常像 CSS 中那样被引用:

background: url("../static-assets/img/nav-logo.png") no-repeat;

最佳答案

我使用 gulp-rev-all 代替:

https://github.com/smysnk/gulp-rev-all

这有效:)

关于css - 使用 gulp-rev、gulp-rev-replace、gulp-rev-css-url 进行 Gulp 修订,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34308238/

相关文章:

javascript - 为什么我需要像 browserify 这样的工具?

perl - 在 Perl 中声明包版本方法的优缺点是什么?

jquery弹出图像居中

javascript - 当我将它们放在旋转木马外面时,按钮不起作用

html - 如何使按钮旁边的图像链接内联?

typescript - 使用 browserify + babelify + tsify 缺少 TypeScript 类型

php - 在页面上显示数据库中的照片时出现问题

javascript - 如何使用 gulp-traceur 和 gulp-webpack?

windows - Verpatch.exe 错误

git - LibGit2Sharp 索引被锁定 - 错误