Gulp 在执行一系列任务时,吞咽清理不起作用

Gulp 在执行一系列任务时,吞咽清理不起作用,gulp,yii2,composer-php,Gulp,Yii2,Composer Php,我正在使用yii2构建一个web服务。帮我把所有我用的东西放在一起。我的文件结构与此类似 gulpfile.js index.php 基础知识/ -composer.json -卖主/ 使用composer获取所有依赖项后,它们将保存到供应商文件夹中。问题在于,出于某种原因,yii2将bower asset保存在名为bower asset的文件夹中,但只有当文件夹名为bower时,它才会工作。所以我写了这两个任务来帮助我。任务1将bower asset文件夹的内容复制到同一目录中的bower文件

我正在使用yii2构建一个web服务。帮我把所有我用的东西放在一起。我的文件结构与此类似

gulpfile.js
index.php
基础知识/
-composer.json
-卖主/

使用composer获取所有依赖项后,它们将保存到供应商文件夹中。问题在于,出于某种原因,yii2将bower asset保存在名为
bower asset
的文件夹中,但只有当文件夹名为
bower
时,它才会工作。所以我写了这两个任务来帮助我。任务1将bower asset文件夹的内容复制到同一目录中的bower文件夹中,第二个任务删除
bower asset
文件夹。我的问题发生在从默认任务运行任务2时。然后它返回一个类似这样的错误

[15:11:20] Starting 'bower-del'...
events.js:85
      throw er; // Unhandled 'error' event
            ^
Error: ENOENT, lstat '/Users/Me/Documents/mamp/dumb/game/basic/vendor/bower-asset/jquery/dist'
    at Error (native)
如果我试图告诉task在task 2开始之前等待task 1完成,也会出现类似的情况

gulp.task('bower-del',['bower-copy',function(){

最让我吃惊的是,如果我自己运行task 2,即gulp bower del,它会删除文件夹,这没有问题

为了简单起见,我从我的gulp文件中提取了其他任务

这就是我的吞咽任务的样子:

// Copies bower-asset into bower folder
gulp.task('bower-copy', function(){
    gulp.src('./basic/vendor/bower-asset/**/*')
        .pipe(gulp.dest('basic/vendor/bower/'));
});

// Deletes old bower-asset folder
gulp.task('bower-del', function () {
    return gulp.src('./basic/vendor/bower-asset/', {read: false})
        .pipe(clean());
});

gulp.task('default', ['bower-copy', 'bower-del']); 

您应该按顺序运行de bower del。在我的示例中,我对生成之前的清理有相同的问题。这里我有两个任务
clean
build
,其中
build
任务应该只在
clean
任务完成时运行,例如,它们不应该并行运行

我的执行情况如下:

gulp.task('build', (cb) => {
  let runSequence = require('run-sequence');

  runSequence('clean', ['info', 'styles', 'scripts', 'images', 'copy'], 'todo', cb);
});
gulp.task('clean', ['clear-cache'], () => {
  let del = require('del');
  let vinylPaths = require('vinyl-paths');

  return gulp.src([settings.dist, settings.reports])
  .pipe(vinylPaths(del));
});
这就可以了。只要看看插件并实现它;-)