NPM酷库,每天两分钟,了解一个流行NPM库。·

在NPM酷库044中,我们了解到了相对于JSON格式更加易于编写和维护的JSON5,今天我们继续学习另外一个更加简单易读的数据格式YAML。

下方就是一个YAML数据示例:

---receipt:     Oz-Ware Purchase Invoice
date:        2012-08-06
customer:  #对象given:   Dorothyfamily:  Galeitems:  # 对象数组- part_no:   A4786descrip:   Water Bucket (Filled)price:     1.47quantity:  4- part_no:   E1628descrip:   High Heeled "Ruby" Slipperssize:      8price:     133.7quantity:  1bill-to:  &id001 # 锚点标记 id001street: |  # 多行字符串123 Tornado AlleySuite 16city:   East Centervillestate:  KSship-to:  *id001 # 引用锚点标记id001的数据specialDelivery:  > # 多行字符串Follow the Yellow BrickRoad to the Emerald City.Pay no attention to theman 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);

参考资料

http://yaml.org

https://zh.wikipedia.org/wiki...

https://github.com/nodeca/js-...

NPM酷库045:js-yaml,读写YAML相关推荐

  1. NPM酷库:jsdom,纯JS实现的DOM

    NPM酷库,每天两分钟,了解一个流行NPM库. 昨天认识了一个在Node.js环境下操作HTML的库 cheerio,cheerio实现了jQuery接口,用起来十分方便.为什么不直接用jQuery呢 ...

  2. NPM酷库:ip,IP地址处理

    NPM酷库,每天两分钟,了解一个流行NPM库.· 今天我们来了解一个专门用来处理IP地址的库:ip,ip库能够获取本机IP地址.比较.转换.掩码/子网计算等各种和网络IP相关的操作: const ip ...

  3. NPM酷库046:cson-parser,解析CSON数据

    NPM酷库,每天两分钟,了解一个流行NPM库.· 前两期我们分别介绍了JSON5和YAML,这两种数据格式相对于JSON,更加易于人类编写和理解,今天我们继续介绍另外一个容易编写的格式 CSON. C ...

  4. NPM酷库:dotenv,从文件加载环境变量

    NPM酷库,每天两分钟,了解一个流行NPM库.· 我们经常需要Node.js程序运行时加载不同的配置,比如开发环境和生产环境的数据数据库配置就可能不一样,使用 process.env.DB_HOST ...

  5. NPM酷库:dateformat 时间字符串格式化

    NPM酷库,每天两分钟,了解一个流行NPM库. JavaScript中Date内置对象的toString() 方法可以将时间对象转换为字符串,但是转换后的格式是这个样子的: Thu Feb 01 20 ...

  6. NPM酷库:uuid,生成随机ID

    NPM酷库,每天两分钟,了解一个流行NPM库. 在中心化应用中,数据记录的ID往往是数据库生成的自增ID,但是在分布式应用中,就会存在一些问题: 保存数据之前就需要给数据标识ID 数据规模超级大,中央 ...

  7. NPM酷库:cheerio,服务端jQuery接口实现

    NPM酷库,每天两分钟,了解一个流行NPM库. jQuery 是前端DOM操作的利器,我们通过jQuery的接口可以方便地访问.修改DOM树中的节点和内容. 有时,在Node.js服务端,我们也需要类 ...

  8. NPM酷库:globby,增强版的glob

    NPM酷库,每天两分钟,了解一个流行NPM库. 昨天,我们学习了一个新库 glob,用于模式匹配目录文件.今天,我们要了解的globby,是基于 glob,并进一步得到了增强了功能. globby 特 ...

  9. NPM酷库:chokidar监视文件变化

    NPM酷库,每天两分钟,了解一个流行NPM库. 像 webpack / grunt /gulp 等工具都提供watch模式,当磁盘文件变化后自动重新运行打包.今天我们要学习的chokidar就是一款专 ...

最新文章

  1. jsoup 多个 class Selector 怎么写?
  2. sentinel 限流熔断神器详细介绍
  3. java druid mysql连接池_java使用Druid连接池连接mysql
  4. 【开源项目】基于FFmpeg的封装格式转换
  5. Linux安装Ncurses库
  6. react中@withrouter_为什么 withRouter 高阶组件应该 处于最外层?
  7. C语言,利用一维数组中选择法对成绩高低排序和输出对应的学号及利用顺序查找查找学生成绩
  8. 04-初始mysql语句
  9. linux下dhcp配置(二)
  10. 日志查看工具 logviewer pro的使用
  11. 信息系统项目管理师——范围管理论文
  12. 研究生复试英语问答口语10个最可能问到的问题
  13. GNS3 v0.8.6简体中文官方版本下载
  14. 搞模具的想转行学计算机,为什么很少人去做模具设计学徒,看看这里你就明白了!...
  15. int型整数的最小值和最大值是多少(精确值)
  16. 什么情况下需要破坏双亲委派模型
  17. 京东模拟登录,自动完成滑块验证
  18. 技术福利:最全实时音视频开发要用到的开源工程汇总
  19. 卡牌系统psv游戏推荐_《天下HD》荣获App Store首页双位推荐 全新情缘系统盘活游戏社交...
  20. chapter11集合(2)

热门文章

  1. 理解Linux文件系统之 inode
  2. adb 安装提示INSTALL_FAILED_ALREADY_EXISTS: Attempt to re-install com.ss.android.trill without first
  3. cf排位显示服务器爆满,2021年《CF手游》究竟还有多少人在玩?取消模拟器排位影响大?...
  4. [国产PLC]耐特过硬PLC在太阳能热水器系统中如何运用
  5. ANSYS计算的基本流程
  6. 程序计数器(PC寄存器)以及java虚拟机栈的存储结构与运行原理的基本介绍
  7. 为什么电机启动电流大?启动后电流又小了?
  8. 支付中心设计-支付通道
  9. (转)Windows 64-bit Itanium
  10. Ansible 条件判断 循环 handlers 任务失败 文件管理的使用