如何对每个文件执行命令,替换每个文件的内容?

时间:2019-11-30 00:11:29

标签: php npm gulp

对为此使用模块不感兴趣。

我相信要遍历文件夹中的所有文件,我可以这样做:

gulp.src(__dirname + '\\mysource\\**\\*.php', {read: false})

对于找到的每个文件,我想运行一个命令,并将内容保存在该文件中。
php -w FILE > FILE

我的理解是,我可以使用“ spawn”来做到这一点,

.pipe(spawn('php', ['-w'], ...))

但是我不确定如何获取“当前文件”,除非我执行某种“ forEach”操作。

1 个答案:

答案 0 :(得分:0)

这是使用https://www.npmjs.com/package/glob glob.sync的一般形式,它返回一个数组。

const gulp = require("gulp");
const glob = require("glob");
const path = require("path");

// get an array of files
const files = glob.sync(path.join(__dirname, 'mysource\**\*.php');

gulp.task('default', function (done) {

  files.forEach(function (file) {

    return gulp.src(file, {read: false})

      // .pipe(do your stuff here)

      .pipe(gulp.dest("dist/" +  path.basename(file, '.php')));
  });
  done();
});
相关问题