TypeScript:
使用TOML

如何操作:

首先,你需要一个TOML解析器。@iarna/toml是一个流行的选择。使用npm安装它:npm install @iarna/toml --save。以下是如何读取TOML文件并将其解析为JavaScript对象的方法:

import * as fs from 'fs';
import toml from '@iarna/toml';

const tomlContent = fs.readFileSync('config.toml', 'utf-8');
const parsedData = toml.parse(tomlContent);

console.log(parsedData);

如果config.toml包含:

[server]
port = 8080

输出将会是:

{ server: { port: 8080 } }

而且,向TOML文件写入数据同样直接:

import * as fs from 'fs';
import { stringify } from '@iarna/toml';

const obj = { server: { port: 8080 } };
const tomlString = stringify(obj);
fs.writeFileSync('config.toml', tomlString);

运行此代码会以TOML格式将对象写入config.toml

深入探索

TOML由GitHub的共同创始人Tom Preston-Werner在2013年左右创建,以回应他认为INI或YAML等其他格式的限制。它旨在消除歧义,并易于解析为数据结构,因此,它是配置文件的首选。像JSON这样的替代方案缺少注释,而YAML更加复杂。TOML以其简单性和清晰表示复杂数据层次结构的能力而脱颖而出。

在底层,当你在TypeScript中解析TOML时,你正在将文本数据转换为语言可以操作的结构化格式。这涉及到词法分析(将原始文本转换为令牌)和解析(建立内部数据结构);@iarna/toml可以无缝处理这两个过程。表情符号支持是一个有趣的触摸,显示了TOML以用户为中心的方法。

另请参阅

  • TOML官方规范:https://toml.io/en/
  • @iarna/toml包:https://www.npmjs.com/package/@iarna/toml
  • TOML、YAML和JSON之间的比较:https://blog.bitsrc.io/choosing-the-right-configuration-file-format-toml-vs-yaml-vs-json-71b5be8968ea