完成任务后如何停止吞咽?

时间:2019-03-26 23:54:14

标签: sass gulp browser-sync postcss gulp-4

我需要帮助,我使用gulp4并有一个构建scss的任务:

while answer == "yes" or answer == "y":
    print(roll)
    time.sleep(2)
    print(random.randint(0, 6))
    answer = input("Want to play again?")

并观看文件以完成此任务:

export const Style = () => src(path.style.src)
    .pipe(sourcemaps.init())
    .pipe(postcss([
        require('postcss-nested'),
        require('autoprefixer')
     ], {syntax: require('postcss-scss')}))
     .pipe(concat('style.min.css'))
     .pipe(sourcemaps.write('../maps'))
     .pipe(dest(path.style.dist))
     .pipe(browserSync.reload({stream: true}));

当我执行默认任务(这是待开发的任务)时,此功能非常好。

export const WatchFiles = () =>
    watch(path.style.watch, Style);

另外,以防万一,我将添加一个服务器任务,也许会有所帮助

let RunServer = parallel(
    WatchFiles,
    Serve
);

let Build = series(
    Style,
    RunServer
);

但是,如果我只是执行“样式”任务,它将不会停止监视我的文件,也不会完成任务。 如何使执行任务而不执行任务“ WatchFiles”时停止生成器?

terminal

link gitlab project

1 个答案:

答案 0 :(得分:0)

我认为您的样式函数中的回调(完成)可以解决停止问题。

export const Style = (done) => {
  src(path.style.src)
    .pipe(sourcemaps.init())
    .pipe(postcss([
      require('postcss-nested'),
      require('autoprefixer')
    ], { syntax: require('postcss-scss') }))
    .pipe(concat('style.min.css'))
    .pipe(sourcemaps.write('../maps'))
    .pipe(dest(path.style.dist))
    .pipe(browserSync.reload({ stream: true }));

    done();
}