尝试覆盖Gulp中的现有文件时出现EEXIST错误?

Sta*_*tec 15 gulp

我在Gulpfile中有一些我想要运行的任务,要么让它们的输出替换或改变现有文件.例如,我想运行wiredep 并让代码替换内部的块index.html(与源文件相同)所以基本上我有以下内容:

gulp.task('bower', () => {
  return gulp.src('app/index.html')
    .pipe(wiredep())
    .pipe(gulp.dest('app/index.html')) // Have wiredep operate on the source 
})
Run Code Online (Sandbox Code Playgroud)

但这会产生EEXIST错误.

同样,我想运行该stylus命令,并将输出传递给已存在的文件(因为它以前运行过).

我有任何选择但del每次都要跑步吗?似乎Gulp应该能够轻松覆盖现有文件,但我无法想出一个简单的方法.

Sve*_*ung 29

gulp.dest()期待一个目录.你传给它一个文件名.

发生的事情是gulp尝试创建目录app/index.html,但由于已经存在具有该名称的文件,因此无法创建该目录.

您需要做的就是app/作为目标目录传递:

gulp.task('bower', () => {
  return gulp.src('app/index.html')
    .pipe(wiredep())
    .pipe(gulp.dest('app/'));
})
Run Code Online (Sandbox Code Playgroud)