当前的 jsonnet 编译器一次只允许编译一个文件。有没有办法在一个命令中构建许多 jsonnet 文件,也许使用一个规则,比如所有 jsonnet 文件与文件夹中的模式 *.jsonnet 递归匹配?
问问题
235 次
1 回答
1
回答您的问题:不,jsonnet
CLI 仅接受单个 jsonnet 文件,请注意这是设计使然,以便能够输出(即清单)有效的JSON 流。回想一下,JSON 本身没有像 YAML 那样的多文档“功能”(即---\n
分离的块)。
也就是说,根据您的用例,您可能能够使用-m <dir>
CLI 功能,该功能为每个(主)对象 key创建一个文件,例如:
$ cat multi.jsonnet
{
'out1.json': { foo: 'bar' },
'out2.json': { qqq: 'baz' },
}
$ jsonnet multi.jsonnet
{
"out1.json": {
"foo": "bar"
},
"out2.json": {
"qqq": "baz"
}
}
$ jsonnet -m . multi.jsonnet
./out1.json
./out2.json
然后,将这些“主要”对象键设置为您需要的每个文件的清单内容。
于 2021-09-22T12:31:01.487 回答