我想让我的schematics在启动时寻找一个JSON文件。如果这个文件存在,它应该从文件中读取选项(在schema.json中定义的选项),抑制所有提示。
所以,如果我像这样启动它,而options.json不存在。
ng g my-schematic:foo
它就会正常运行,打印提示等等 但如果options.json确实存在,它应该从该文件中读取所有选项,并且不应该打印任何提示。
这可能吗?
我知道类似这样的事情可以通过传递命令行选项来实现,但我需要使用一个文件来实现。我不想传递任何标志。
先谢谢你
解决方案1
将你的json文件的路径作为参数传给你的命令。
通过规则工厂中的options变量来使用该路径,并解析它的选项名称和用户设置的值。
解决方案 2 - 使用 schema.json
我建议你为这些选项添加一个默认值,不要将它们添加到所需的数组中。这样一来,如果没有指定的话,你就可以得到默认值,如果需要的话,用户可以通过cmd传入它们的值。
我不知道有什么钩子可以提供拦截提示符打印的方法。