Angular 原理图混乱

Angular Schematics confusion

不确定使用 Angular 示意图完全理解概念。更准确地说是如何执行原理图。 看了一些文章,我看到我们必须使用ng g my-schematics-collection:simple-schematic --name="some name"。 在其他文章中我看到了schematics my-schematics-collection:simple-schematic --name="Angular Community"。 再次使用 NX,他们简单地使用 ng g component,就像基本的 Angular 原理图一样来创建组件。他们如何覆盖现有的 Angular Schematics?他们没有指向他们自己的原理图集合这一事实让我感到困惑。

有人可以解释一下在哪些用例中使用什么吗? 谢谢!

Angular 原理图只是一个库。有不同的工具使用该库。您可以在 docs 中阅读更多关于工具的预期内容。

使用 ng g my-schematics-collection:simple-schematic --name="some name" 时,您使用的是 angular-cli 提供的工具。

当使用 schematics my-schematics-collection:simple-schematic --name="Angular Community" 时,您正在使用 reference cli tooling

这两种工具都利用 nodejs 模块解析来查找原理图文件。所以my-schematics-collection实际上是一个node_module的名字。例如,默认 angular 原理图在此 module 中定义。请注意,在 package.json 中有一个名为 schematics 的键。它将指向一个 json 配置文件。

所以一般来说,如果您使用 Angular,请坚持使用 angular-cli 工具。如果您正在开发自定义原理图,参考 CLI 可用于测试。如果您不介意编写一些自定义工具,那么您可以直接导入库。