【问题标题】:Gulp 4 - Tasks not finished - Gulpfile.js BrowsersyncGulp 4 - 任务未完成 - Gulpfile.js Browsersync
【发布时间】:2018-10-16 00:33:10
【问题描述】:

我有点坚持将我的旧 Gulp 3 Gulpfile 更改为在 Gulp 4 中工作。

除了默认任务和服务任务在 powershell 中没有标记为已完成之外,我已经到了一切似乎都可以正常工作的地步。

请问我怎样才能解锁代码并让它们正确完成?

var gulp        = require('gulp');
var browserSync = require('browser-sync').create();
var sass        = require('gulp-sass');

// Compile sass into CSS & auto-inject into browsers
gulp.task('sass', function() {
    return gulp.src(['node_modules/bootstrap/scss/bootstrap.scss', 'src/scss/*.scss'])
        .pipe(sass())
        .pipe(gulp.dest("src/css"))
        .pipe(browserSync.stream());
});

// Move the javascript files into our /src/js folder
gulp.task('js', function() {
    return gulp.src(['node_modules/bootstrap/dist/js/bootstrap.min.js', 'node_modules/jquery/dist/jquery.min.js', 'node_modules/popper.js/dist/umd/popper.min.js'])
        .pipe(gulp.dest("src/js"))
        .pipe(browserSync.stream());
});

// Static Server + watching scss/html files
gulp.task('serve', gulp.series('sass', function() {

    browserSync.init({
        server: "./src"  
    });

    gulp.watch(['node_modules/bootstrap/scss/bootstrap.scss', 'src/scss/*.scss'], gulp.series('sass'));
    gulp.watch("src/*.html").on('change', browserSync.reload);
}));

gulp.task('default', gulp.parallel('js', 'serve'));

【问题讨论】:

  • 我认为你很好,你希望手表(在服务任务中)继续运行。因此,服务任务永远不会完成,因此默认任务也不会完成。
  • github.com/gulpjs/gulp/blob/4.0/docs/recipes/… 上查看 gulp4 的官方食谱@他们不会在带有 sass 观察者的服务任务中使用虚拟回调函数。我认为你在这里使用它不会有任何收获。这可以通过将您的默认任务更改为 gulp.series('serve', 'js') 来查看,操作没有任何区别。
  • 谢谢你,马克,我现在将使用回调,并将研究配方以进一步开发我的 gulpfile

标签: node.js sass gulp browser-sync


【解决方案1】:

serve 系列中的第二个任务没有返回任何内容,gulp 不明白这一点。任务可以返回一个流或一个承诺 - 或者它必须调用回调参数来表示完成,如下所示:

gulp.task('serve', gulp.series('sass', function(cb) {
    // Your js task code here
    cb()
}))

阅读最新的gulp4 documentation,它会对你有所帮助。

【讨论】:

  • 谢谢卡米尔,这使任务得以完成并继续观看和服务该网站。
猜你喜欢
  • 1970-01-01
  • 2023-03-10
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-12
  • 2018-06-15
  • 1970-01-01
  • 2016-07-11
相关资源
最近更新 更多