Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/angular/27.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Angular 角度示意图:如何从文件中提供选项?_Angular_Angular Schematics - Fatal编程技术网

Angular 角度示意图:如何从文件中提供选项?

Angular 角度示意图:如何从文件中提供选项?,angular,angular-schematics,Angular,Angular Schematics,我希望我的示意图在启动时查找JSON文件。如果该文件存在,它应该从该文件中读取选项(schema.json中定义的选项),并抑制所有提示 因此,如果我像这样启动它,并且options.json不存在: ng g my-schematic:foo 它应该运行普通、打印提示等,但如果options.json确实存在,它应该从该文件中读取所有选项,并且不应该打印任何提示 这可能吗 我知道这样的事情可以通过传递命令行选项来完成,但我需要使用一个文件来完成。我不想传递任何旗帜 提前谢谢 解决方案1 使用

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

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

ng g my-schematic:foo
它应该运行普通、打印提示等,但如果options.json确实存在,它应该从该文件中读取所有选项,并且不应该打印任何提示

这可能吗

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


提前谢谢

解决方案1

  • 使用命令将该json文件的路径作为参数传递

  • 通过rulefactory中的options变量使用该路径,并对其进行解析,以获得选项名称和用户设置的值

  • 解决方案2-使用schema.json

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


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

    谢谢,听起来不错!至于提示,我选中了,您实际上可以抑制它们。“原理图”有一个内置标志,称为“交互式”。如果为false,则所有提示都将被抑制。如果您有任何必需的选项,则必须将它们作为命令行标志提供。太好了。我不知道这面旗帜。谢谢