我有一个包含一堆图像的文件夹,我希望gulp用新的图像文件替换其中的每个图像,但不更改其原始名称
gulp.task('img', function() {
return gulp.src(`source/template/img/**/*`, base: './')
.pipe()// A pipe to replace multipe files with one file but keeping their original name
.pipe(gulp.dest(`./`));
});
我怎样才能做到这一点?
最佳答案
这利用vinyl-map
来处理管道功能。它还使用readFileSync
,因为我无法使其异步工作。如果有人知道该怎么做,请修改我的答案或发表评论/新答案。MightyRiversbank.jpg
是用于替换tempImages
目录中所有现有图像的模板图像。
const gulp = require('gulp')
const fs = require('fs')
const map = require('vinyl-map')
const gutil = require('gulp-util')
gulp.task('replaceImages', function() {
const replaceImage = map(function(code, filename, callback){
const data = fs.readFileSync('MightyRiversbank.jpg')
return data
})
gutil.log("replacing images")
return gulp.src(`tempImages/**/*`)
.pipe(replaceImage)
.pipe(gulp.dest(`tempImages`))
})
关于javascript - 用1个文件替换Folder中的所有文件,但将其原始名称保留在Gulp中,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/51887010/