如何使用Angula2 CLI在特定文件夹中生成类?

时间:2016-10-25 13:30:59

标签: angular angular-cli

我通常使用以下命令生成角度为2 cli的类:

byte_per_pixel

如何告诉cli在特定文件夹中生成类,例如模型文件夹。

该文档有一个示例,他们在特定文件夹中生成一个组件,但我没有成功使用类选项

我尝试过以下选项:

ng g class todo

ng g class models/todo

ng g class ../models todo

它们导致路径无效的错误,这使我认为该选项受支持但我无法弄明白,或者在后者的情况下将目标文件夹名称与类名称合并

8 个答案:

答案 0 :(得分:30)

Angular CLI的生成项目是相对的......

如果你在根目录(或源目录)中,你会被认为是应用程序目录...

~/me/foo > ng g c bar
// ~/me/foo/src/app/bar/bar.component*

~/me/foo/src > ng g c bar
// ~/me/foo/src/app/bar/bar.component*

如果你在app目录中或文件夹结构的下方,你将生成你所在的位置......

~/me/foo/src/app/feature > ng g c bar
// ~/me/foo/src/app/feature/bar/bar.component*

~/me/foo/src/app/feature > ng g c ../bar
// ~/me/foo/src/app/bar/bar.component*

注意:如果您尝试生成不存在的目录,则会出错......

~/me/foo/src/app > ng g c a/b/c/d/e/f/g/bar
// Error

答案 1 :(得分:8)

要在项目的models文件夹中创建待办事项组件,只需确保您位于项目的根文件夹中并键入:

  

ng g c / models / todo

此外,如果要指定声明模块的文件名,可以使用-m选项。

例如,如果您有模型模块,并且想要更新该模块以声明您的新待办事项组件:

  

ng g c / models / todo -m model

此致

答案 2 :(得分:5)

ng generate component my-new-component

ng g component my-new-component # using the alias

组件支持相对路径生成

如果在目录src/app/feature/中并且您运行

ng g component new-cmp

您的组件将在src/app/feature/new-cmp

中生成

但如果你要跑

ng g component ../newer-cmp

您的组件将在src/app/newer-cmp

中生成

适用于班级

检查:Github angular-cli

答案 3 :(得分:3)

 ng g cl model/UserInfo
works fine in angular5

答案 4 :(得分:2)

用于在Angular4 / 5/6中生成类

只需右键单击要在其中创建课程的文件夹,然后选择文件夹在终端中打开

然后在终端内使用

ng g class classname --type = model

答案 5 :(得分:1)

加入Karthikeyan Karunanithi的简单回答,

ng g i model/UserInfo
如果你想要一个界面,

效果很好......

答案 6 :(得分:1)

ng g cl models//todo-class

结果~/project/src/app/models/todo-class.ts

export class TodoClass {}

答案 7 :(得分:1)

https://github.com/angular/angular-cli#generating-components-directives-pipes-and-services

生成组件,,指令,警卫,接口,枚举,管道和服务,模块

您可以使用ng generate(或仅ng g)命令生成Angular工件:

ng generate component my-new-component
ng g component my-new-component # using the alias

组件支持相对路径生成

如果在目录src / app / feature /中并运行

ng g component new-cmp

您的组件将在src / app / feature / new-cmp

中生成

但如果您要运行

ng g component ./newer-cmp

您的组件将在src / app / newer-cmp

中生成

如果在目录src / app中你也可以运行

ng g component feature/new-cmp

,您的组件将在src / app / feature / new-cmp

中生成

您可以在下表中找到所有可能的蓝图:

Scaffold    Usage
Component   ng g component my-new-component
Directive   ng g directive my-new-directive
Pipe    ng g pipe my-new-pipe
Service ng g service my-new-service
**Class ng g class my-new-class**
Guard   ng g guard my-new-guard
Interface   ng g interface my-new-interface
Enum    ng g enum my-new-enum
Module  ng g module my-module

angular-cli将在app.module.ts中自动添加对组件,指令和管道的引用。如果您需要将此引用添加到另一个自定义模块,请按照以下步骤操作:

ng g module new-module 创建一个新模块

呼叫 ng g component new-module/new-component

这应该将新组件,指令或管道引用添加到您创建的新模块中。