当前位置: 首页 > 面试题库 >

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

林泰平
2023-03-14
问题内容

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


问题答案:

如果您想以类似口水的方式执行此操作,则可以创建“假”黑胶文件流并按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/'))
})


 类似资料:
  • 问题内容: 我正在尝试将String传递给我的。如何通过针对读者的“测试” 而不是来自读者的输入? 问题答案: 您可以如下修改代码

  • 问题内容: 我正在遵循指南,它为我提供了以下代码: 我想知道的是如何仍然可以创建一个,但是不要读取文件的内容,而要使用一个已有的变量。 问题答案: 使用而不是。 请参阅StringReader的文档 例:

  • 问题内容: 我不习惯在Java中使用流-如何从中创建流? 问题答案: 干得好: 更新 对于多字节支持使用(感谢 Aaron Waibel 的评论): 请参阅ByteArrayInputStream手册。 在上面的String#getBytes(charset)方法中使用charset参数是安全的。 在JDK 7+之后,您可以使用 而不是硬编码的编码字符串:

  • 问题内容: 我正在使用ya-csv库,它希望将文件或流作为输入,但是我有一个字符串。 如何将该字符串转换为Node中的流? 问题答案: 从节点12.3开始,stream.Readable有一个方法可以轻松地从任何可迭代对象(包括数组文字)创建流:

  • 我需要将字符串转换为JSONObject

  • 问题内容: 我已经在下面使用过一段时间了。至少在我访问过的网站上,它似乎是分布最广的。 在Java中,是否有更好/不同的方式将文件读取为字符串? 问题答案: 读取文件中的所有文本 Java 11添加了方法来读取小文件,以String保留行终止符: 对于介于Java 7和11之间的版本,这是一个紧凑而健壮的习惯用法,它包装在实用程序方法中: 从文件中读取文本行 Java 7添加了一种便捷方法,可以将