为什么Angular-CLI没有为Angular Project中的'model'生成命令?

Dea*_*ool 28 javascript angular-cli angular

在学习Angular时,我只是通过各种Angular-CLI命令来生成Angular的各个部分,如"Component","Services","Interface","Pipes"等.

通过Angular-CLI生成角度项

ng g c components/comp-1 //generates component
ng g s services/service-1 // generates service
ng g i interfaces/interface-1 // generates interface
Run Code Online (Sandbox Code Playgroud)

但是,我很惊讶为什么没有' 模型 '的生成命令(虽然接口也做了几乎一些工作 - 但模型更强大,因为也可以在类中包含方法).

我是否遗漏了某些内容或Team-Angular错过了生成"自动生成模型"的命令 - 因为它们是OOPS Framework的核心.

在此输入图像描述

参考:

https://www.npmjs.com/package/angular-cli

Out*_*man 65

因为模型一个类,要生成它使用如下--type选项:

ng generate class hero --type=model
Run Code Online (Sandbox Code Playgroud)

将导致:

hero.model.ts
Run Code Online (Sandbox Code Playgroud)

  • 你是对的,技术上是正确的.但是,作为数据的骨架,模型最接近泛型类(但这不是真正的借口).我很惊讶他们不仅仅添加了`model`命令,尽管它不是保留字或任何东西. (4认同)
  • @Patrick,这是因为缩写“c”代表“组件”(而“s”代表“服务”)。我经常使用的命令是“nggenerateinterfacehero--type=model”或“nggenerateihero--type=model”,因为它会创建一个接口(并且不会创建规范/测试文件)。 (4认同)
  • 但是,接口,管道,模块也很重要。不是吗 (3认同)
  • 如果您需要避免创建单元测试类 hero.model.spec.ts,只需键入 --spec=false。例如 ng 生成类 hero --type=model --spec=false (2认同)
  • @Patrick你只需要输入“class”这个词。因此,在您的示例中输入:`ng g class Hero --type=model`,您将获得 Hero.model.ts 和关联的 .spec 文件 (2认同)

Nim*_*zzz 12

您不能直接生成模型。实际上模型是一个类。ng generate 默认只允许生成以下类型。

  1. 应用程序外壳
  2. 应用
  3. 班级
  4. 成分
  5. 指示
  6. 枚举
  7. 警卫
  8. 界面
  9. 图书馆
  10. 模块
  11. 管道
  12. 服务
  13. 服务工作者
  14. 普遍的
  15. 网络工作者

因此,在您的情况下,您可以使用 --type 选项来定义生成类。假设你想要一个像 bar.foo.ts 这样的类

您只需要使用以下选项定义它。

ng generate class bar --type=foo
Run Code Online (Sandbox Code Playgroud)

在您的情况下,您可以使用此命令定义一个模块

ng generate class nameOfYourModule --type=model
Run Code Online (Sandbox Code Playgroud)

它将生成 nameOfYourModule.model.ts

有关更多信息,请参阅ng generate 选项的官方文档