尝试覆盖Gulp中的现有文件时出现EEXIST错误?
我的Gulpfile中有一些任务,我想运行它们,或者让它们的输出替换或更改现有文件。例如,我想运行尝试覆盖Gulp中的现有文件时出现EEXIST错误?,gulp,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
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
})
但这会产生一个EEXIST
错误
类似地,我希望运行stylus
命令,并将输出通过管道传输到一个已经存在的文件(因为它以前运行过)
除了每次运行
del
之外,我还有其他选择吗?看起来Gulp应该能够轻松覆盖现有文件,但我想不出一个简单的方法。您应该能够使用具有选项的Gulp.dest
选项。覆盖
类型:布尔型
默认值:true
指定是否应覆盖具有相同路径的现有文件
gulp.dest()
需要一个目录。您正在传递一个文件名
发生的情况是gulp试图创建目录app/index.html
,但它无法创建,因为已经有一个同名文件
您只需将app/
作为目标目录传递:
gulp.task('bower', () => {
return gulp.src('app/index.html')
.pipe(wiredep())
.pipe(gulp.dest('app/'));
})
会好的
gulp.task('bower',()=>{
return gulp.src('app/index.html'))
.pipe(wiredep())
.pipe(gulp.dest('app')//让wiredep对源进行操作
})
看起来默认为true
,但它不起作用?@Startec但是你在哪里调用gulp.dest
?我刚刚更新了问题。我在最后调用它,希望在同一个文件上操作我相信@SvenSchoenung解决了这个问题,但是耶dest
需要一个目录而不是一个特定的文件名。Gulp总是覆盖现有文件EEXIST
错误通常表示您没有正确处理某些异步操作。@SvenSchoenung这似乎是一项非常简单的任务,您看到我在这里可能做错了什么吗?