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

问题描述 投票:1回答:1

不希望为此使用模块。

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

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

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

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

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

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

php npm gulp
1个回答
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();
});
© www.soinside.com 2019 - 2024. All rights reserved.