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

woobm2wo  于 2022-12-08  发布在  Gulp
关注(0)|答案(2)|浏览(167)

我不得不从代码中删除所有以#include开头的行,如下所示:

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

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

f0brbegy

f0brbegy1#

我不知道这是否可行,但像这样的东西怎么样?

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

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

zvokhttg2#

是的,gulp-replace是一个很好的用例,正如Ipg的回答所证明的那样。
但这里有一种使用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"));
});

相关问题