Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/node.js/41.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 吞下4个sass忘记发出异步完成信号_Javascript_Node.js_Gulp - Fatal编程技术网

Javascript 吞下4个sass忘记发出异步完成信号

Javascript 吞下4个sass忘记发出异步完成信号,javascript,node.js,gulp,Javascript,Node.js,Gulp,我试图用gulp sass构建我的sass,但我得到了错误: 以下任务未完成:构建、打包 您忘记发出异步完成信号了吗? 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 sass构建我的sass,但我得到了错误:

以下任务未完成:构建、打包 您忘记发出异步完成信号了吗?

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
));

问题出在哪里?

尽管我看不到代码的其余部分,但问题很可能与命名冲突有关。我假设您将gulp插件别名为
sass
。如果您这样做了,那么有两个变量使用相同的名称

var sass = require('gulp-sass');
function sass() { ... }
后者优先于前者。所以当您调用
gulp.task('build',gulp.series(…,sass,…)时假设您正在调用最后一个函数。它没有返回语句


通过将别名重命名为类似于
var nodesass=require('gulp-sass')的名称,可以轻松解决此问题
或重命名函数。

series或gulp.parallel,在函数之前必须使用async关键字,否则可以使用回调声明函数,如下所示

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();
}

在其他函数中也使用此逻辑。

非常感谢,这是我的问题!我只是碰巧没有在我的代码编辑器中启用Javascript linter,否则它会捕捉到这一点并节省我一个小时!