node--批量修改yaml文件

时间:2024-03-24 21:32:18

1.需求

本人在工作中遇到这样的一问题。56个yaml脚本,每个脚本都要在好几处修改大概10行以上的代码。注意,所有脚本要修改的代码是一样,这样的话就非常耗时,而且出错也不可避免。有一个聪明的小伙伴告诉我,可以试着用node或者python批量操作。下来具体介绍如何编写代码。

2.简单示例

1)搭建node环境,可以去看官方文档。(下载本人的源码需要先 npm install)

2)目录结构

node--批量修改yaml文件

a.yaml

environments:
    dev:
        url: http://dev.bar.com
        name: Developer Setup
    prod:
        url: http://foo.bar.com
        name: My Cool App
my:
    servers:
        - dev.bar.com
        - foo.bar.com

index.js

const yaml = require('node-yaml');

yaml.read('a.yaml', (err, data) => {
  const res = JSON.parse(JSON.stringify(data));
  res.environments.dev.url = 'http://baidu.com/';
  yaml.write('./b.yaml', res, (err) => {
    if(err) {
      console.log(err.toString());
    }
  });
});

在终端运行node index。就会生成你想要的b文件,会发现有个地方被修改了成'http://baidu.com/'。下来看本人在实际项目中需求更复杂的时候怎么操作。

3.项目实践

1)目录结构同上,不同的是本人添加了一个需要处理的包文件,如下

node--批量修改yaml文件

index.js部分

node--批量修改yaml文件

 

conversionCode部分较长,这里只显示部分

node--批量修改yaml文件

2)这个是控制台打印的所有目录

node--批量修改yaml文件

好了,这个就是使用node批处理yaml文件的全部内容,具体两个demo可以到本人的github上去下载。

https://github.com/JiaojSun