使用 Gulp 修改现有的 YAML 值

Modify existing YAML values using Gulp

我是 YAML 的新手,我觉得自己错过了一些东西,或者让自己的生活变得更加艰难。

我正在使用 Gulp 到 运行 一堆任务来缩小 CSS/JS 和 lint 我的代码,但对于最终构建,我需要修改 YAML 包含一些配置值的文件。

这是我的 YAML 文件的一部分:

- adx_name: RedirectUri
  adx_sitesettingid: 3745e5fe-2b95-eb11-b1ac-000d3a2cd507
  adx_value: https://example.com/signin

YAML 文件包含一堆配置,但我只需要更改 adx_value,其中 adx_name = RedirectUri.

除了那些能够读取 YAML 或附加到 YAML 文件。我需要做的是编辑文件并在文件中的正确位置写入新值。

您可以使用 gulp-replace 轻松完成此操作。

gulp.task('yaml-replace', function () {
  return gulp.src('./test.yaml')
    .pipe(replace(/(?<=adx_name:\s)(RedirectUri)/g, 'myReplacement'))  // positive lookbehind
    .pipe(gulp.dest('./yaml'));
});

替换函数可以使用字符串或正则表达式替换为字符串或函数。

结果:

- adx_name: myReplacement
  adx_sitesettingid: 3745e5fe-2b95-eb11-b1ac-000d3a2cd507
  adx_value: https://example.com/signin