1. ホーム
  2. node.js

Gulpで文字列からファイルを作成する方法とは?

2023-10-09 08:09:42

質問

gulpfileの中に、バージョン番号を文字列で入れています。 私はバージョン番号をファイルに書きたいと思います。 Gulpでこれを行うための素晴らしい方法はありますか、または私はより一般的なNodeJS APIを見るべきですか?

どのように解決するのですか?

gulp的な方法でやりたい場合は、"fake"ビニールファイルのストリームを作成して pipe を通常通り呼び出すことができます。ストリームを作成するための関数は以下の通りです。 "stream"はコアモジュールですので、何もインストールする必要はありません。

const Vinyl = require('vinyl')

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

このように使うことができます。

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