使用Gulp修改现有的YAML值

xiozqbni  于 2022-12-08  发布在  Gulp
关注(0)|答案(1)|浏览(150)

我对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一起工作的Gulp插件,除了那些能够读取YAML或附加到YAML文件的插件。我需要做的是编辑文件并在文件中的正确位置写入新值。

dxxyhpgq

dxxyhpgq1#

使用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'));
});

replace函数可以接受一个字符串或正则表达式,并替换为一个字符串或函数。
结果:

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

相关问题