NPM酷库,天天两分钟,相识一个盛行NPM库。·
在NPM酷库044中,我们相识到了相对于JSON花样越发易于编写和保护的JSON5,本日我们继承进修别的一个越发简朴易读的数据花样YAML。
下方就是一个YAML数据示例:
---
receipt: Oz-Ware Purchase Invoice
date: 2012-08-06
customer: #对象
given: Dorothy
family: Gale
items: # 对象数组
- part_no: A4786
descrip: Water Bucket (Filled)
price: 1.47
quantity: 4
- part_no: E1628
descrip: High Heeled "Ruby" Slippers
size: 8
price: 133.7
quantity: 1
bill-to: &id001 # 锚点标记 id001
street: | # 多行字符串
123 Tornado Alley
Suite 16
city: East Centerville
state: KS
ship-to: *id001 # 援用锚点标记id001的数据
specialDelivery: > # 多行字符串
Follow the Yellow Brick
Road to the Emerald City.
Pay no attention to the
man behind the curtain.
...
YAML花样能够和JSON花样相互转换,YAML花样相对于JSON越发易于人类编写和明白,所以更适合替换JSON用来编写配置文件。
js-yaml
js-yaml 是一个特地用来读写YAML花样数据的库,他能够将JS对象转换成YAML字符串,也能够将YAML字符串转换为JS对象。
const yaml = require('js-yaml');
const fs = require('fs');
let obj = yaml.safeLoad(fs.readFileSync('example.yml', 'utf8'));
let str = yaml.safeDump(obj);