如何删除以特定字符开头的行

时间:2015-08-20 14:12:27

标签: javascript gulp

我遇到了必须从代码中删除所有行的情况,其中行以#include开头,如下所示:

#include 'utils/namespace.js'
#include 'utils/constants.js'
#include 'utils/helpers.js'
#include 'utils/json2.js'
#include 'utils/polifill.js'

有什么建议吗?非常感谢。

2 个答案:

答案 0 :(得分:5)

我不知道它是否会起作用,但这样的事情怎么样?

var replace = require('gulp-replace');

gulp.task('templates', function(){
  gulp.src(['file.txt'])
    .pipe(replace(/#include[^\n]*/g, ''))
    .pipe(gulp.dest('build/file.txt'));
});

答案 1 :(得分:1)

是的,正如Ipg的答案所示,gulp-replace是一个很好的用例。

但这里有一个更低级别的低水平"使用through2执行此操作的方法:

var gulp = require("gulp");
var through = require("through2");

gulp.task("templates", function() {
  return gulp
    .src("src/file.txt")
    .pipe(through.obj(function(file, enc, done) {
      var replaced = file.contents.toString().replace(/#include[^\n]*/g, "");
      file.contents = new Buffer(replaced);
      done(null, file);
    }))
    .pipe(gulp.dest("build"));
});