在我的gulpfile中,我有一个字符串中的版本号.我想把版本号写入一个文件.有没有一种很好的方法可以在Gulp中实现这一点,或者我应该看看更通用的NodeJS API?

推荐答案

如果你想以一种大口大口喝的方式来做这件事,你可以创建一个"假"乙烯基文件流,并通常拨打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/'))
})

Node.js相关问答推荐

使用HTTPS从NodeJS 17.9.1升级到18.0.0后,SignalR连接失败

Sveltekit停靠的应用程序找不到从Build导入的包

如何在MEVN堆栈中结合创建和更新表单流程?

使用ReadableStream.管道时NodeJS Crypto Hash不正确

MongoDB的方面查询的Postgres类似功能

函数声明中的异步在没有等待的函数中做什么?

即使卷已设置,Docker Nodemon 也不会热重载

在 Docker 容器内创建一个 cron 作业(job)来执行 run.js 文件中的函数

在 MacOS Ventura 上使用 NVM 安装 node ?

为什么 $or 在带有正则表达式的mongoose 中不能正常工作

无法关闭 node.js 中的mongoose 连接

try 在 Heroku 中部署 PRN 应用程序并获得 404

为什么在调用数据库调用时我的参数没有定义?

如何在 MongoDB collection.find() 上获取回调

如何以编程方式检测nodejs中的调试模式?

使用 nvm-windows 时更新 npm

在 Node.js 与 Cron 作业(job)中设置间隔?

gyp WARN EACCES 用户root没有访问开发目录的权限

Puppeteer 等待所有图像加载然后截图

Mongoose - 验证邮箱语法