咕嘟咕嘟4个SASS忘记信号异步完成

问题描述 投票:0回答:2

我试图建立我的一口青菜青菜和我得到的错误:

下面的任务没有完成:建立,gulpSass你忘了信号异步完成?

function sass() {
  return gulp.src(paths.sass)
    .pipe(sourcemaps.init())
    .pipe(sass.sync().on('error', sass.logError))
    .pipe(sourcemaps.write())
    .pipe(gulp.dest(buildDir));
}

gulp.task('build', gulp.series(
  clean,
  sass,
  html,
  images
));

问题是什么?

javascript node.js gulp
2个回答
1
投票

虽然我不能看到你的代码的其余部分,问题最有可能有一个命名collission做。我假设你是走样吞气插件作为sass。如果你这样做,然后有使用两个名称相同的变量。

var sass = require('gulp-sass');
function sass() { ... }

后者将覆盖第一。所以,当你调用gulp.task('build', gulp.series(...,sass,...));这是假设你调用的最后一个函数。它没有return语句。

通过重命名或者别名,以类似var nodesass = require('gulp-sass');或重命名功能轻松解决。


0
投票

系列或gulp.parallel,你有你的函数之前使用异步关键字,否则你可以按照以下给出的回调声明你的函数。

function sass(cb) {
  return gulp.src(paths.sass)
    .pipe(sourcemaps.init())
    .pipe(sass.sync().on('error', sass.logError))
    .pipe(sourcemaps.write())
    .pipe(gulp.dest(buildDir));
cb();
}

在其他功能使用此逻辑。

© www.soinside.com 2019 - 2024. All rights reserved.