1.需求
本人在工作中遇到这样的一问题。56个yaml脚本,每个脚本都要在好几处修改大概10行以上的代码。注意,所有脚本要修改的代码是一样,这样的话就非常耗时,而且出错也不可避免。有一个聪明的小伙伴告诉我,可以试着用node或者python批量操作。下来具体介绍如何编写代码。
2.简单示例
1)搭建node环境,可以去看官方文档。(下载本人的源码需要先 npm install)
2)目录结构
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)目录结构同上,不同的是本人添加了一个需要处理的包文件,如下
index.js部分
conversionCode部分较长,这里只显示部分
2)这个是控制台打印的所有目录
好了,这个就是使用node批处理yaml文件的全部内容,具体两个demo可以到本人的github上去下载。