我需要在我的SASS中找到某个群组mixins,它总是有这种格式:
@include sprite-something;
我可以用这个正则表达式找到它们:
/@include sprite-*/g
我可以使用gulp查找此模式并将其找到的控制台登录到控制台吗?
所以如果这是我的SASS
.header {
font-size: 2em;
}
.something {
@include sprite-one;
}
.something-else {
@include sprite-two;
}
然后控制台会记录@include sprite-one
和@include sprite-two
答案 0 :(得分:0)
首先,你的正则表达式是错误的。它只会与您@include
语句的一部分匹配(请参阅here)。一个更好的正则表达式是/@include sprite-[^;]*;/g
(见here)。
现在,您可以使用map-stream
访问流中的文件,然后使用常规JavaScript正则表达式匹配来查找模式的所有匹配项并将其记录到控制台:
var gulp = require('gulp');
var map = require('map-stream');
function logMatches(regex) {
return map(function(file, done) {
file.contents.toString().match(regex).forEach(function(match) {
console.log(file.path + ': ' + match);
});
done(null, file);
});
}
gulp.task('default', function() {
return gulp.src('sass/**/*.sass')
.pipe(logMatches(/@include sprite-[^;]*;/g));
});