Angular schematics:如何从文件中提供选项?

问题描述 投票:0回答:1

我想让我的schematics在启动时寻找一个JSON文件。如果这个文件存在,它应该从文件中读取选项(在schema.json中定义的选项),抑制所有提示。

所以,如果我像这样启动它,而options.json不存在。

ng g my-schematic:foo

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

这可能吗?

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

先谢谢你

angular angular-schematics
1个回答
0
投票

解决方案1

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

  2. 通过规则工厂中的options变量来使用该路径,并解析它的选项名称和用户设置的值。

解决方案 2 - 使用 schema.json

我建议你为这些选项添加一个默认值,不要将它们添加到所需的数组中。这样一来,如果没有指定的话,你就可以得到默认值,如果需要的话,用户可以通过cmd传入它们的值。

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

© www.soinside.com 2019 - 2024. All rights reserved.