我正在使用Gulp使用gulp-sass插件编译SASS代码。我想在运行任务时注销写入(或覆盖)的文件,但它并没有告诉我发生了什么。只有当它完成。
const gulp = require('gulp');
const sass = require('gulp-sass');
gulp.task('sass', function () {
return gulp.src(filesToCompile)
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest(folderToOutput));
});
我发现插件gulp-tap可以查看流中的文件,但它似乎会将所有SASS文件记录下来,而不是写入或覆盖的文件。
const gulp = require('gulp');
const sass = require('gulp-sass');
const tap = require('gulp-tap');
gulp.task('sass', function () {
return gulp.src(filesToCompile)
.pipe(sass().on('error', sass.logError))
.pipe(tap(function (file, t) {
console.log(file.path);
}))
.pipe(gulp.dest(folderToOutput));
});
有没有办法实现这个目标?
答案 0 :(得分:0)
我认为您可以使用插件http://doc.qt.io/qt-4.8/application-windows.html#window-geometry和gulp-changed来实现这一目标。我现在没时间测试它,但我认为这段代码将是:
var gulp = require('gulp');
var sass = require('gulp-sass');
var changed = require('gulp-changed');
var using = require('gulp-using');
gulp.task('sass', function () {
return gulp.src(filesToCompile)
.pipe(sass().on('error', sass.logError))
.pipe(changed(folderToOutput))
.pipe(using({color:'red'}))
.pipe(gulp.dest(folderToOutput));
});
此处gulp-changed
过滤文件,因此您只复制新文件或修改过的文件,并gulp-using
记录过滤后通过流的所有文件。
PD:您的第一个代码段中有拼写错误。