我正在使用 gulp-rev 缓存我编译的 scss 文件。这意味着 css 注入仅在我不更改 css 文件中的任何内容时才有效。如果我改变任何东西,gulp-rev 会给文件一个不同的名字,browserSync 不会知道注入它。这是我的 gulpfile 中的 scss 任务:
Object.keys(styles).forEach(function(key){
gulp.task('css-' + key, function(){
del.sync([
'./public/' + styles[key].dir + manifest[key + '.css'],
'./public/' + styles[key].dir + '/maps/' + manifest[key + '.css'] + '.map'
]);
return gulp.src('./source/' + styles[key].dir + key + '.scss')
.pipe(plumber())
.pipe(sourcemaps.init())
.pipe(sass())
.pipe(minifycss())
.pipe(autoprefixer())
.pipe(rev())
.pipe(sourcemaps.write('maps/'))
.pipe(tap(updateManifest))
.pipe(gulp.dest('public/' + styles[key].dir))
.pipe(gulpif(
function(file){return path.extname(file.path) === '.css'},
browsersync.stream()
));
});
});