Nodejs读写yaml文件
2022年11月20日...大约 1 分钟
前言
通过安装 yaml
模块,实现在Nodejs中读写yaml文件,能够修改、删除、添加yaml文件内容,并且能让修改后的文件的格式、排版不会变乱,注释不会消失
安装依赖
安装 yaml
依赖
npm install yaml
使用方法
假如有一个 yaml
文件为 file.yml
,内容如下:
# 注释1
test1: 测试文本1 # 注释1.1
test2: 测试文本2
test3: 测试文本3
# 注释2
a:
a1: 我是a1 # 注释2.1
a2: 我是a2
a3: 我是a3
# 注释3
b:
- 我是b1 # 注释3.1
- 我是b2
- 我是b3
使用方法的代码如下:
import fs from "fs";
import { parseDocument } from "yaml";
// 读取文件
const file = fs.readFileSync("./file.yml", "utf8");
const doc = parseDocument(file);
// 读取内容
console.log(doc.get("test1")); // 输出为:测试文本1
console.log(doc.getIn(["a", "a1"])); // 输出为:我是a1
console.log(doc.getIn(["b", 0])); // 输出为:我是b1
// 修改内容
doc.set("test2", "测试文本2,我被修改啦");
doc.setIn(["a", "a2"], "我是a2,我被修改啦");
doc.setIn(["b", 1], "我是b2,我被修改啦");
// 添加内容
doc.add({ key: "test4", value: "测试文本4" });
doc.addIn(["a", "a4"], "我是a4");
doc.addIn(["b", 3], "我是b4");
// 删除内容
doc.delete("test4");
doc.deleteIn(["a", "a4"]);
doc.deleteIn(["b", 3]);
// 转换成字符串,将修改后的内容写入文件
fs.writeFileSync("./file.yml", doc.toString());
官方文档 ---> Collections
Powered by Waline v3.3.2