RError.com

RError.com Logo RError.com Logo

RError.com Navigation

  • 主页

Mobile menu

Close
  • 主页
  • 系统&网络
    • 热门问题
    • 最新问题
    • 标签
  • Ubuntu
    • 热门问题
    • 最新问题
    • 标签
  • 帮助
主页 / 问题 / 925511
Accepted
corocoto
corocoto
Asked:2020-12-26 05:48:34 +0000 UTC2020-12-26 05:48:34 +0000 UTC 2020-12-26 05:48:34 +0000 UTC

gulp 4中的任务执行问题

  • 772

最近发现gulp已经完全从版本3切换到了4。我决定试试新版本的新特性,但是调用watch和build任务的时候出现了问题。

给出以下错误:“以下任务未完成您是否忘记发出异步完成信号?”

编码:

var gulp = require('gulp'),
uglify = require('gulp-uglifyjs'),
autoprefixer = require('gulp-autoprefixer'),
del = require('del'),
cssnano = require('gulp-cssnano'),
rename = require('gulp-rename'),
imagemin = require('gulp-imagemin'),
pngquant = require('imagemin-pngquant'),
cache = require('gulp-cache');


//добавление префикса и минифицирование css файла
   gulp.task('styles', function() {
   return gulp.src('src/css/style.css')
    .pipe(autoprefixer(['last 15 versions', '> 1%', 'ie 8', 'ie 7'], {
      cascade: true /*для читабельности кода*/
    })) //автоматическое добавление префиксов
    .pipe(cssnano())
    .pipe(rename({
      suffix: '.min'
    }))
    .pipe(gulp.dest('src/css'));
});

/*сжатие js файлов*/
gulp.task('scripts', function() {
  return gulp.src('src/js/*.js')
    .pipe(uglify())
    .pipe(gulp.dest('src/js/min'));
});

//удаление директории
gulp.task('clean', function() {
  return del.sync('dist');
});

//очистка кэша
gulp.task('clear-cache', function() {
  return cache.clearAll();
});

//сжатие изображений
gulp.task('img', function() {
  return gulp.src('src/img/**/*')
    .pipe(cache(imagemin({
      interlaced: true,
      progressive: true,
      svgoPlugins: [{
        removeViewBox: false
      }],
      une: [pngquant()]
    })))
    .pipe(gulp.dest('dist/img'));
});

gulp.task('watch', function() {
  gulp.watch('src/css/style.css', gulp.parallel('styles'));
  gulp.watch('src/js/*.js', gulp.parallel('scripts'));
});

gulp.task('build', gulp.series('clean', 'img', 'styles', 'scripts'), function() {
  var buildCss = gulp.src(['src/css/style.min.css'])
    .pipe(gulp.dest('dist/css'));

  var buildJs = gulp.src('src/js/min/*.js')
    .pipe(gulp.dest('dist/js'));

  var buildHtml = gulp.src('src/*.html')
    .pipe(gulp.dest('dist'));

  var buildHtmlPages = gulp.src('src/pages/*.html')
    .pipe(gulp.dest('dist/pages'));

  var buildAudio = gulp.src('src/audio/**/*')
    .pipe(gulp.dest('dist/audio'));
});

gulp.task('default', gulp.parallel('watch','styles ','scripts'));
javascript
  • 1 1 个回答
  • 10 Views

1 个回答

  • Voted
  1. Best Answer
    corocoto
    2020-12-26T16:56:03Z2020-12-26T16:56:03Z

    我又摆弄了一下,它奏效了

    var gulp         = require('gulp'),
        uglify       = require('gulp-uglifyjs'),
        autoprefixer = require('gulp-autoprefixer'),
        del          = require('del'),
        cssnano      = require('gulp-cssnano'),
        rename       = require('gulp-rename'),
        imagemin     = require('gulp-imagemin'),
        pngquant     = require('imagemin-pngquant'),
        cache        = require('gulp-cache');
    
    
    
    var toDelete = [
        'dist'
    ]
    var jsFiles = [
        'src/js/oneplayer.js',
        'src/js/twoplayers.js',
        'src/js/menu.js'
    ]
    var cssFiles = [
        'src/css/style.css'
    ]
    var imgFiles =[
        'src/img/**/*'
    ]
    var buildCss = [
        'src/css/style.min.css'
    ]
    var buildJs =[
        'src/js/oneplayer.min.js',
        'src/js/twoplayers.min.js',
        'src/js/menu.min.js'
    ]
    var buildHtml = [
        'src/pages/**/*'
    ]
    var buildAudio = [
        'src/audio/**/*'
    ]
    
    
    
    gulp.task('styles', function() {
        var stream = gulp.src(cssFiles)
            .pipe(autoprefixer(['last 15 versions', '> 1%', 'ie 8', 'ie 7'], {cascade: true }))
            .pipe(cssnano())
            .pipe(rename({ suffix: '.min' }))
            .pipe(gulp.dest('src/css'));
        return stream;
    });
    gulp.task ('clean', function() {
        return del(toDelete);
    });
    gulp.task('scripts', function() {
        for (var i=0; i<jsFiles.length; i++) {
            var stream = gulp.src(jsFiles[i])
                .pipe(rename({suffix: '.min'}))
                .pipe(uglify())
                .pipe(gulp.dest('src/js'));
        }
            return stream;
    
    });
    gulp.task ('clearcache', function() {
        return cache.clearAll();
    });
    gulp.task ('img', function() {
        var stream = gulp.src(imgFiles)
            .pipe(cache(imagemin({
                interlaced: true,
                progressive: true,
                svgoPlugins: [{removeViewBox: false}],
                une: [pngquant()]
            })))
            .pipe(gulp.dest('dist/img'));
        return stream;
    });
    gulp.task('build', function () {
        var buildStyles = gulp.src(buildCss)
            .pipe(gulp.dest('dist/css'));
        var buildScripts = gulp.src(buildJs)
            .pipe(gulp.dest('dist/js'));
        var buildHTML = gulp.src(buildHtml)
            .pipe(gulp.dest('dist/pages'));
        var index = gulp.src('src/*.html')
            .pipe(gulp.dest('dist'));
        var buildSounds = gulp.src(buildAudio)
            .pipe (gulp.dest('dist/audio'));
        return buildStyles,buildScripts,buildHTML,index,buildSounds;
    });
    
    gulp.watch(cssFiles, gulp.parallel('styles'));
    gulp.watch(jsFiles, gulp.parallel('scripts'));
    gulp.watch(imgFiles, gulp.series('img', 'clearcache'));
    
    gulp.task('serve', gulp.series('clean',
        gulp.parallel(
            'styles',
            'scripts',
            'img')));
    
    gulp.task('default', gulp.series('serve', 'clearcache', 'build'));
    
    • 0

相关问题

Sidebar

Stats

  • 问题 10021
  • Answers 30001
  • 最佳答案 8000
  • 用户 6900
  • 常问
  • 回答
  • Marko Smith

    是否可以在 C++ 中继承类 <---> 结构?

    • 2 个回答
  • Marko Smith

    这种神经网络架构适合文本分类吗?

    • 1 个回答
  • Marko Smith

    为什么分配的工作方式不同?

    • 3 个回答
  • Marko Smith

    控制台中的光标坐标

    • 1 个回答
  • Marko Smith

    如何在 C++ 中删除类的实例?

    • 4 个回答
  • Marko Smith

    点是否属于线段的问题

    • 2 个回答
  • Marko Smith

    json结构错误

    • 1 个回答
  • Marko Smith

    ServiceWorker 中的“获取”事件

    • 1 个回答
  • Marko Smith

    c ++控制台应用程序exe文件[重复]

    • 1 个回答
  • Marko Smith

    按多列从sql表中选择

    • 1 个回答
  • Martin Hope
    Alexandr_TT 圣诞树动画 2020-12-23 00:38:08 +0000 UTC
  • Martin Hope
    Suvitruf - Andrei Apanasik 什么是空? 2020-08-21 01:48:09 +0000 UTC
  • Martin Hope
    Air 究竟是什么标识了网站访问者? 2020-11-03 15:49:20 +0000 UTC
  • Martin Hope
    Qwertiy 号码显示 9223372036854775807 2020-07-11 18:16:49 +0000 UTC
  • Martin Hope
    user216109 如何为黑客设下陷阱,或充分击退攻击? 2020-05-10 02:22:52 +0000 UTC
  • Martin Hope
    Qwertiy 并变成3个无穷大 2020-11-06 07:15:57 +0000 UTC
  • Martin Hope
    koks_rs 什么是样板代码? 2020-10-27 15:43:19 +0000 UTC
  • Martin Hope
    Sirop4ik 向 git 提交发布的正确方法是什么? 2020-10-05 00:02:00 +0000 UTC
  • Martin Hope
    faoxis 为什么在这么多示例中函数都称为 foo? 2020-08-15 04:42:49 +0000 UTC
  • Martin Hope
    Pavel Mayorov 如何从事件或回调函数中返回值?或者至少等他们完成。 2020-08-11 16:49:28 +0000 UTC

热门标签

javascript python java php c# c++ html android jquery mysql

Explore

  • 主页
  • 问题
    • 热门问题
    • 最新问题
  • 标签
  • 帮助

Footer

RError.com

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

帮助

© 2023 RError.com All Rights Reserve   沪ICP备12040472号-5