Gulp sass甚至看着进口并经营着主要的父母

时间:2016-02-16 07:50:36

标签: sass gulp

我有这个gulp任务:

gulp.task('css', function() {
    return gulp.src( [CONFIG.css.source + '/**/*.scss'].concat(CONFIG.css.ignore) )
        .pipe( watch([CONFIG.css.source + '/**/*.scss'].concat(CONFIG.css.ignore)) )            
        .pipe( sass({errLogToConsole: true}) )
        .pipe( gulp.dest(CONFIG.css.dest) )
});

通过此任务,我可以观看.scss文件并在其上应用sass。问题是当我使用@import partial.scss时。这些部分不会被监视,所以我每次都要保存部分文件,然后保存主要的style.scss文件(调用导入文件),以便启动任务。

如何查看导入,而不必保存导入和导入程序scss文件?

为简单起见,我们说我有一个 style.scss 文件,可以导入 partials / partial.scss 。当我编辑并保存部分内容时,只应运行 style.scss 上的任务。

备注:

CONFIG.css.ignore是partials文件夹的路径(以这种方式,它们不会被直接观看并保存在错误的文件夹中),但这也会导致部分不被监视的问题..

1 个答案:

答案 0 :(得分:2)

我建议/使用稍微不同的方法。我有一个独立的任务来启动观察者,例如:

var pathToAllScssIncludingPartials = '/**/*.scss';

gulp.task('watchStyles', [], function() {
    gulp.watch(pathToAllScssIncludingPartials, ['css']);
});

只要输入文件发生变化,就会启动'css'。不再需要在watch任务中执行任何css内容。