Light Gulp 4 任务仍然抛出 'async completion' 错误
Light Gulp 4 task still throwing 'async completion' error
我以前没有用过 Gulp,所以我不会将旧的 gulpfile 迁移到 Gulp 4。我只是想设置一些基本任务。但是,无论我使用哪种方法来表示异步完成以及 this post 中记录的方法,我仍然会收到 "Did you forget to signal async completion?" 错误。
'use strict';
/*
=====
PLUGINS
=====
*/
var gulp = require('gulp'),
plumber = require('gulp-plumber');
// sass
var sass = require('gulp-sass');
sass.compiler = require('node-sass');
// js
var concat = require('gulp-concat'),
uglify = require('gulp-uglify');
/*
=====
TASKS
=====
*/
gulp.task('sass', function() {
return gulp.src('./lib/**/*.scss')
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('./lib/build'))
})
/*
=====
EXPORT TASKS
=====
*/
exports.sass = sass;
有了这个超级准系统设置,它不应该工作吗? return gulp.src
return 不是直播吗?我错过了什么?
节点 10.15.0,
Gulp 命令行界面 2.2.0,
Gulp4.0.1
尝试
// exports.sass = sass;
exports.sass = gulp.series('sass');
或
exports.sass = 'sass';
您正在使用任务版本 (gulp.task
),因此需要引号。
如果您使用的是功能版本(推荐):
function sass2 () {
return gulp.src('./lib/**/*.scss')
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('./lib/build'))
};
然后
exports.sass = sass2;
工作正常。请注意,您已经有了 var sass
,因此您当然必须再次将 function sass2
命名为 sass
以外的其他名称。
我以前没有用过 Gulp,所以我不会将旧的 gulpfile 迁移到 Gulp 4。我只是想设置一些基本任务。但是,无论我使用哪种方法来表示异步完成以及 this post 中记录的方法,我仍然会收到 "Did you forget to signal async completion?" 错误。
'use strict';
/*
=====
PLUGINS
=====
*/
var gulp = require('gulp'),
plumber = require('gulp-plumber');
// sass
var sass = require('gulp-sass');
sass.compiler = require('node-sass');
// js
var concat = require('gulp-concat'),
uglify = require('gulp-uglify');
/*
=====
TASKS
=====
*/
gulp.task('sass', function() {
return gulp.src('./lib/**/*.scss')
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('./lib/build'))
})
/*
=====
EXPORT TASKS
=====
*/
exports.sass = sass;
有了这个超级准系统设置,它不应该工作吗? return gulp.src
return 不是直播吗?我错过了什么?
节点 10.15.0, Gulp 命令行界面 2.2.0, Gulp4.0.1
尝试
// exports.sass = sass;
exports.sass = gulp.series('sass');
或
exports.sass = 'sass';
您正在使用任务版本 (gulp.task
),因此需要引号。
如果您使用的是功能版本(推荐):
function sass2 () {
return gulp.src('./lib/**/*.scss')
.pipe(sass().on('error', sass.logError))
.pipe(gulp.dest('./lib/build'))
};
然后
exports.sass = sass2;
工作正常。请注意,您已经有了 var sass
,因此您当然必须再次将 function sass2
命名为 sass
以外的其他名称。