Javascript &引用;“从未定义任务”;从吸气3到吸气4时出错

Javascript &引用;“从未定义任务”;从吸气3到吸气4时出错,javascript,sass,gulp,Javascript,Sass,Gulp,在升级到Node v12之后,我试图将我的gulp 3文件转换为gulp 4,即使阅读了教程/示例,我仍然会出错。我得到了AssertionError[ERR\u ASSERTION]:任务从未定义:sass error 我的gulpfile.js文件: const gulp = require('gulp'); const browserSync = require('browser-sync').create(); const sass = require('gu

在升级到Node v12之后,我试图将我的gulp 3文件转换为gulp 4,即使阅读了教程/示例,我仍然会出错。我得到了
AssertionError[ERR\u ASSERTION]:任务从未定义:sass error

我的gulpfile.js文件:

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

// Compile Sass & Inject Into Browser
gulp.task('sass', gulp.series('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 JS Files to src/js
gulp.task('js', gulp.series(['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());
});

// Watch Sass & Serve
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);
});

// Move Fonts to src/fonts
gulp.task('fonts', gulp.series(['fonts']), function() {
  return gulp.src('node_modules/font-awesome/fonts/*')
    .pipe(gulp.dest('src/fonts'))
})

// Move Font Awesome CSS to src/css
gulp.task('fa', gulp.series(['fa']), function() {
  return gulp.src('node_modules/font-awesome/css/font-awesome.min.css')
    .pipe(gulp.dest('src/css'))
})

gulp.task('default', ['js','serve', 'fa', 'fonts']);

非常感谢您的帮助,谢谢

启动此表单不正确:

gulp.task('sass', gulp.series('sass'), function() {
在任务本身的
'sass'
开始处调用
'sass'
。它可能会导致一个无限循环。我怀疑这是导致错误的原因,因为您在完全定义任务之前调用了
'sass'
任务

gulp.task
只接受两个参数:名称和一个函数,因此这是正确的:

gulp.task('sass', function() {
因此,将此更改为所有任务,除了:

gulp.task('serve', gulp.series(['sass']), function() { 
您可能希望在启动服务器之前运行
'sass'
任务的位置。但是您仍然只能有两个参数来
gulp.task
,所以请尝试

gulp.task('serve', gulp.series('sass', function() {
最后,这一行

gulp.task('default', ['js','serve', 'fa', 'fonts']);
需要一个
gulp.series
才能在gulpv4中正常工作,所以请尝试

gulp.task('default', gulp.series('js','serve', 'fa', 'fonts'));
一旦你做了所有这些更改,看看是否还有其他错误