首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何有吞咽-替换只影响某些文件?

如何有吞咽-替换只影响某些文件?
EN

Stack Overflow用户
提问于 2015-12-11 08:42:26
回答 1查看 726关注 0票数 1

我的任务是:

代码语言:javascript
复制
var gulp = require('gulp');

gulp.task('myStaticFiles', function() {
    gulp.src('staticSite/**')
        .pipe(gulp.dest('build/site'));
});

srcdest之间,我想做一个gulp-replace (或类似的)。我目前有:

代码语言:javascript
复制
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

我怎样才能做到呢?

文档对此一无所知,所以也许我只是缺乏一些关于“吞咽方式”的知识来做这类事情?

EN

回答 1

Stack Overflow用户

发布于 2015-12-11 10:01:58

尝试这种方法,使用吞咽

代码语言:javascript
复制
(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' ) );
  });

})();
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34219272

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档