Angular 原理图:如何从文件中提供选项?

Angular schematics: how to provide options from file?

我希望我的原理图在启动时查找 JSON 文件。如果此文件存在,它应该从文件中读取选项(schema.json 中定义的选项),禁止所有提示。

因此,如果我这样启动它并且 options.json 不存在:

ng g my-schematic:foo

它应该 运行 正常,打印提示等。但是如果 options.json 确实存在,它应该从该文件中读取所有选项并且不应该打印任何提示。

这可能吗?

我知道这样的事情可以通过传递命令行选项来完成,但我需要使用文件来完成。我不想传递任何标志。

提前致谢!

解决方案 1

  1. 将您的路径传递给 json 文件作为命令的参数。

  2. 通过 rulefactory 中的选项变量使用该路径,并将其解析为选项名称和用户设置的值。

解决方案 2 - 使用 schema.json

我建议您为这些选项中的每一个添加一个默认值,并且不要将它们添加到所需的数组中。通过这种方式,如果未指定,您将获得默认值,如果需要,用户可以通过 cmd 为它们传递值。

我不知道有什么钩子可以提供拦截提示打印的方法。