Angular 原理图:如何从文件中提供选项?
Angular schematics: how to provide options from file?
我希望我的原理图在启动时查找 JSON 文件。如果此文件存在,它应该从文件中读取选项(schema.json 中定义的选项),禁止所有提示。
因此,如果我这样启动它并且 options.json 不存在:
ng g my-schematic:foo
它应该 运行 正常,打印提示等。但是如果 options.json 确实存在,它应该从该文件中读取所有选项并且不应该打印任何提示。
这可能吗?
我知道这样的事情可以通过传递命令行选项来完成,但我需要使用文件来完成。我不想传递任何标志。
提前致谢!
解决方案 1
将您的路径传递给 json 文件作为命令的参数。
通过 rulefactory 中的选项变量使用该路径,并将其解析为选项名称和用户设置的值。
解决方案 2 - 使用 schema.json
我建议您为这些选项中的每一个添加一个默认值,并且不要将它们添加到所需的数组中。通过这种方式,如果未指定,您将获得默认值,如果需要,用户可以通过 cmd 为它们传递值。
我不知道有什么钩子可以提供拦截提示打印的方法。
我希望我的原理图在启动时查找 JSON 文件。如果此文件存在,它应该从文件中读取选项(schema.json 中定义的选项),禁止所有提示。
因此,如果我这样启动它并且 options.json 不存在:
ng g my-schematic:foo
它应该 运行 正常,打印提示等。但是如果 options.json 确实存在,它应该从该文件中读取所有选项并且不应该打印任何提示。
这可能吗?
我知道这样的事情可以通过传递命令行选项来完成,但我需要使用文件来完成。我不想传递任何标志。
提前致谢!
解决方案 1
将您的路径传递给 json 文件作为命令的参数。
通过 rulefactory 中的选项变量使用该路径,并将其解析为选项名称和用户设置的值。
解决方案 2 - 使用 schema.json
我建议您为这些选项中的每一个添加一个默认值,并且不要将它们添加到所需的数组中。通过这种方式,如果未指定,您将获得默认值,如果需要,用户可以通过 cmd 为它们传递值。
我不知道有什么钩子可以提供拦截提示打印的方法。