我已经完成了这项任务:
var gulp = require('gulp');
gulp.task('myStaticFiles', function() {
gulp.src('staticSite/**')
.pipe(gulp.dest('build/site'));
});
在src
和dest
之间我想要gulp-replace
(或类似)。我目前有:
var gulp = require('gulp');
var replace = require('gulp-replace');
gulp.task('myStaticFiles', function() {
gulp.src('staticSite/**')
.pipe(replace(/mypattern/, "replacevalue"))
.pipe(gulp.dest('build/site'));
});
但是,这会影响管道中的所有文件。我想:
replace
影响的流中只某些文件(按名称划分的特定文件或具有特定扩展名的文件);和gulp.dest
。我该怎么办?
The gulp-replace
documentation对此没有任何意义,所以也许我只是缺乏一些关于" gulp方式的知识"做这种事情?
答案 0 :(得分:2)
使用gulp-if:
尝试此方法(function() {
'use strict';
var gulp = require( 'gulp' ),
gulpif = require( 'gulp-if' ),
replace = require( 'gulp-replace' );
var condition = function ( file ) {
// TODO: add business logic
return true;
}
gulp.task( 'myStaticFiles', function() {
return gulp
.src( 'staticSite/**' )
.pipe( gulpif( condition, replace( /mypattern/, 'replacevalue' ) ) )
.pipe( gulp.dest( 'build/site' ) );
});
})();