0

当前的 jsonnet 编译器一次只允许编译一个文件。有没有办法在一个命令中构建许多 jsonnet 文件,也许使用一个规则,比如所有 jsonnet 文件与文件夹中的模式 *.jsonnet 递归匹配?

4

1 回答 1

1

回答您的问题:不,jsonnetCLI 仅接受单个 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 回答