@architect/parser 
OpenJS Architect是一种作为代码(IaC)的解决方案的基础设施. 关键见解: 作为代码的内置结构 是决定主义。 基础设施资源在一个具有依赖它们的代码的申报表文件中被定义. 这确保了部署文物能够随时掌握每个版本代码的准确运行时间资源.
建筑师在以下位置查看主定义/配置表单文件:
这个
.arc格式是建筑师独有的,具有许多可读性优势;但 无需
.arc
.arc是用于存储结构化配置数据的文本格式;不是用于序列化或传输数据
这个 .arc 格式 :
- 以下评论
#符号 - 顶级密钥从
@(例:@pragma(中文(简体) ) - 平面包含:平面值或复杂值
- 平面值为:
string, (中文(简体) ),number财务报告和审定财务报表boolean - 复杂值为:
array, (中文(简体) ),vector财务报告和审定财务报表map - 空格相当大
示例
考虑文件 some-arc-file.txt 内容如下:
# this is a comment
@section-one
simple-string-value # String
another-value
4.2 # Number
true # Boolean
@section-of-arrays
vector of values
vector tuple
@vectors-section
named
vector
of
values
@this-section-has-a-map
hello-world
name some-value
用以下代码解析文件 :
#!/usr/bin/env node
const parse = require('@architect/parser')
const fs = require('node:fs')
const text = fs.readFileSync('./some-arc-file.txt').toString()
const result = parse(text)
console.log(result)
将下列平面对象打印到控制台:
{
"section-one": [
"simple-string-value",
"another-value",
4.2,
true
],
"section-of-arrays": [
["vector", "of", "values"],
["vector", "tuple"]
],
"vectors-section": [
{named: ["vector", "of", "values"]},
],
"this-section-has-a-map": [{
"hello-world": {
"name": "some-value"
}
}]
}
需要注意的东西:
array值是单行空格的平面平面值vector是一个名称array在新线上缩进两个空格的平面map是一个命名值,然后是按键和值缩进两个空格