【问题标题】:Angular schematics: how to provide options from file?角度示意图:如何从文件中提供选项?
【发布时间】:2020-08-19 07:00:35
【问题描述】:

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

所以如果我这样开始并且 options.json 不存在:

ng g my-schematic:foo

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

这可能吗?

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

提前致谢!

【问题讨论】:

    标签: angular angular-schematics


    【解决方案1】:

    解决方案 1

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

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

    解决方案 2 - 使用 schema.json

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

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

    【讨论】:

    • 谢谢听起来不错!至于提示,我查了,你其实可以压制的。 Schematics 有一个名为“interactive”的内置标志。如果为 false,则所有提示都将被禁止。如果您有任何必需的选项,则必须将它们作为命令行标志提供。
    • 太棒了。我不知道这面旗帜。谢谢。
    猜你喜欢
    • 2019-11-02
    • 2018-08-04
    • 2020-06-07
    • 2019-08-07
    • 2018-12-24
    • 2020-01-27
    • 2018-12-07
    • 2021-11-09
    • 1970-01-01
    相关资源
    最近更新 更多