如何将一系列SCSS文件传递给gulp,以便编译下来?

时间:2017-03-14 15:33:30

标签: css sass gulp

我希望能够在一个数组中指定一个SCSS文件列表(遗憾的是,我不能通过将它们存储在一个目录中来实现这一点而只是用于通信)。

我想象的有点像:

    myfiles = ['header.scss', 'content.scss', 'footer.scss'];

    gulp.src_from_array( { base: '/sass/sources/', file_array: myfiles } )
        .pipe(sourcemaps.init())
        .pipe(sass())
        .pipe(autoprefixer())
        .pipe(sourcemaps.write('.'))
        .pipe(gulp.dest('./'))
        .pipe(notify({
            onLast: true,
            message: "Sass compiled successfully <%= file.relative %>",
        })
    );

这个想法是它会处理数组中指定的SCSS文件,然后输出一个CSS文件(和一个源图)。

我怎样才能做到这一点?我想的可能是gulp-foreachgulp-if,但我无法弄清楚如何做到这一点。

1 个答案:

答案 0 :(得分:3)

也许我误解了你在寻找什么,但是你不能只使用gulp.src,看到supports an array of globs吗?

因此,在您的示例中,那将是:

myfiles = ['/sass/sources/header.scss', '/sass/sources/content.scss', '/sass/sources/footer.scss'];

gulp.src(myfiles)
    .pipe...

另一种方法是使用SCSS文件导入所有其他文件。