[英]Why no Angular-CLI generate command for 'model' in Angular Project?
在学习 Angular 时,我只是通过各种 Angular-CLI 命令来生成 Angular 的各个部分,如“组件”、“服务”、“接口”、“管道”等。
通过 Angular-CLI 生成 Angular 项
ng g c components/comp-1 //generates component
ng g s services/service-1 // generates service
ng g i interfaces/interface-1 // generates interface
但是,令我惊讶的是,为什么没有针对“ Model ”的生成命令(尽管接口也几乎完成了一些工作——但 model 更强大,因为它也可以在类中包含方法)。
我是不是错过了什么,或者 Team-Angular 错过了生成“自动生成模型”的命令——因为它们是 OOPS 框架的核心。
参考:
因为模型是一个类,所以要生成它,请使用--type
选项,如下所示:
ng generate class hero --type=model
将导致:
hero.model.ts
您不能直接生成模型。 实际上模型是一个类。 ng generate 默认只允许生成以下类型。
因此,在您的情况下,您可以使用 --type 选项来定义生成类。 假设你想要一个像 bar.foo.ts 这样的类
您只需要使用以下选项定义它。
ng generate class bar --type=foo
在您的情况下,您可以使用此命令定义一个模块
ng generate class nameOfYourModule --type=model
它将生成 nameOfYourModule.model.ts
有关更多信息,请参阅 ng generate options 的官方文档。
ng g class subfolder/yourclass --type=model --skip-tests
将在app\subfolder
中创建一个 class yourclass
。 如果您删除--skip-tests
,您将获得一个额外的文件yourclass.model.spec.ts
。
此命令还生成模型
ng generate class employee --type
导致:
employee.ts
employee.spec.ts
employee.ts
employee.spec.ts
我只使用ng generate class
(没有任何标志),我相信很多其他人也这样做。 我认为我在 Angular 中使用纯类文件的唯一时间是使用模型。 由于它们主要位于模型文件夹中,因此几乎没有理由使用--type=model
添加额外的 'model' 后缀。 我相信这是 Angular 团队没有包含 'ng generate model' 命令的部分原因(因为它是类的重复)。
只需在项目的根目录中运行:
ng generate interface your_model_name --type=model
# or in models folder
ng generate interface models/your_model_name --type=model
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.