我想运行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
})
但这会产生一个EEXIST
错误。
类似地,我希望运行stylus
命令,并将输出通过管道传输到一个已经存在的文件(因为它以前运行过)。
除了每次都运行del
之外,我还有什么选择吗?看起来Gulp应该能够轻松地覆盖现有文件,但我找不到一个简单的方法。
4条答案
按热度按时间kmbjn2e31#
gulp.dest()
需要一个目录。您传递的是一个文件名。发生的事情是gulp试图创建目录
app/index.html
,但由于已经有一个同名文件,所以无法创建。您所需要做的就是将
app/
作为目标目录:6yjfywim2#
您应该能够使用
gulp.dest
,它具有一个选项overwrite
options.overwrite
类型:布尔默认值:true
指定是否应覆盖具有相同路径的现有文件。
vbkedwbf3#
会没事的。
xfb7svmp4#
Gulp 有
overwrite
选项另一个例子
完整文档https://gulpjs.com/docs/en/api/dest