Задача Light Gulp 4 по-прежнему выдает ошибку «асинхронное завершение» - PullRequest
1 голос
/ 25 апреля 2019

Я раньше не использовал Gulp, поэтому я не переношу старый gulpfile в Gulp 4. Я просто пытаюсь настроить несколько основных задач.Тем не менее, независимо от метода, который я использую для оповещения об асинхронном завершении, а также описанного в этом посте , я все еще получаю сообщение "Вы забыли сообщить об асинхронном завершении?"ошибка.

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

С этой супер-barebone-установкой она не должна работать?return gulp.src не возвращает поток?Чего мне не хватает?

Узел 10.15.0, Gulp CLI 2.2.0, Gulp 4.0.1

1 Ответ

0 голосов
/ 26 апреля 2019

Попробуйте

// 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, конечно же.

...