一尘不染

如何从Gulp中的字符串创建文件?

node.js

在我的gulpfile中,我在字符串中有一个版本号。我想将版本号写入文件。在Gulp中有没有很好的方法可以做到这一点,还是我应该看看更通用的NodeJS
API?


阅读 248

收藏
2020-07-07

共1个答案

一尘不染

如果您想以类似口水的方式执行此操作,则可以创建“假”黑胶文件流并按pipe常规方式调用。这是用于创建流的函数。“
stream”是一个核心模块,因此您不需要安装任何东西:

function string_src(filename, string) {
  var src = require('stream').Readable({ objectMode: true })
  src._read = function () {
    this.push(new gutil.File({
      cwd: "",
      base: "",
      path: filename,
      contents: new Buffer(string)
    }))
    this.push(null)
  }
  return src
}

您可以像这样使用它:

gulp.task('version', function () {
  var pkg = require('package.json')
  return string_src("version", pkg.version)
    .pipe(gulp.dest('build/'))
})
2020-07-07