Gulp + SASS + BrowserSync不适用于新创建的部分

时间:2018-01-17 13:54:43

标签: css sass gulp

我正在使用一个非常简单的Gulp设置与SASS和BrowserSync。

//require plugins here

// Paths

var styleSRC = './assets/css/style.scss'; // Path to main .scss file.
var styleDestination = './  '; 
var styleWatchFiles = './assets/css/**/*.scss'; 


// BrowserSync
gulp.task('browser-sync', function () {
    browserSync.init({
        proxy: projectURL,
        open: false,
        injectChanges: true  
    });
});


//Task

gulp.task('styles', function () {
    gulp.src(styleSRC)
        .pipe(sass({
            errLogToConsole: true,
        }))
        .on('error', console.error.bind(console)).pipe(autoprefixer(AUTOPREFIXER_BROWSERS))
        .pipe(gulp.dest(styleDestination))
        .pipe(browserSync.reload({
            stream: true
        }));
});

// Watch
gulp.task('default', ['styles', 'browser-sync'], function () {
    gulp.watch(styleWatchFiles, ['styles']); 
});

问题是虽然此设置无法识别何时创建新的部分文件。因此,如果我创建一个局部,然后将其添加到style.scss,则不会发生任何事情,Sass未编译 - >所以你从控制台手动调用任务。

添加新部分时是否可以自动编译Sass?

1 个答案:

答案 0 :(得分:1)

如果您删除' ./'从源路径它将按照您期望的方式工作

据我所知这是一个仅限Windows的问题 这是一个描述问题的github问题:https://github.com/gulpjs/gulp/issues/1422

应该在gulp 4.x中修复,但那仍然是alpha