【问题标题】:npm del error in gulpfile Visual Studio 2015gulpfile Visual Studio 2015 中的 npm del 错误
【发布时间】:2015-09-23 15:16:52
【问题描述】:

我在我的 gulpfile 中使用 del 包作为清理任务的一部分。

以下是我正在使用的东西的版本 Visual Studio 2015 社区 Node.js v2.11.3 吞咽 v3.9.0 删除 v2.0.2

这是我的 gulp 文件的摘录:

var gulp = require('gulp');
var del = require('del');
var config = require('./gulp.config')();

var $ = require('gulp-load-plugins')({ lazy: true });

gulp.task('images', ['clean-images'], function () {
    log('Copying and compressing the images');

    return gulp
        .src(config.images)
        .pipe($.imagemin({optimizationLevel: 4}))
        .pipe(gulp.dest(config.build + 'images'));
});

gulp.task('clean-images', function (done) {
    clean(config.build + 'images/**/*.*', done);
});

function clean(path, done) {
    log('Cleaning: ' + $.util.colors.blue(path));
    del(path, done);
}

当我使用gulp images 从命令提示符运行任务images 时,clean-images 任务执行但从未完成。它与行错误:

[16:10:45] Using gulpfile ~\Documents\Visual Studio 2015\Projects\**\Gulpfile.js
[16:10:46] Starting 'clean-images'...
[16:10:46] Cleaning: build/images/**/*.*
Process terminated with code 0.

因此,images 任务的其余部分不会执行。

当我删除 clean-images 依赖项时,images 任务运行良好。

难道没有人以前见过这个问题,并且知道如何纠正它吗?

谢谢

【问题讨论】:

    标签: node.js gulp visual-studio-2015


    【解决方案1】:

    我认为您遇到了与 user 相同的错误:del 模块不再使用回调,而是承诺。 done 永远不会被调用,所以 cleanimages 任务同时运行,这会导致错误。

    你可以从 clean 方法返回:

    gulp.task('clean-images', function () {
        return clean(config.build + 'images/**/*.*');
    });
    
    function clean(path) {
        log('Cleaning: ' + $.util.colors.blue(path));
        return del(path);
    }
    

    【讨论】:

    • 啊,这就解释了!谢谢!
    猜你喜欢
    • 1970-01-01
    • 2018-04-27
    • 1970-01-01
    • 1970-01-01
    • 2016-02-10
    • 2017-02-21
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多