我正在使用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));
});有没有办法做到这一点?
发布于 2016-03-12 02:55:10
我认为你可以使用插件gulp-changed和gulp-using来实现这一点。我现在没有时间来测试它,但我认为这段代码应该是:
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:您的第一个代码片段中有一个拼写错误。
https://stackoverflow.com/questions/35946468
复制相似问题