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

Geo*_*ora 32 angular-cli angular

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

ng g class todo

如何告诉cli在特定文件夹中生成类,例如models文件夹.

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

我尝试了以下选项:

ng g class models/todo

ng g class ../models todo

ng g class models todo

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

Bro*_*cco 37

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*
Run Code Online (Sandbox Code Playgroud)

如果您在应用程序目录中或文件夹结构的更下方,您将生成到您所在的位置...

~/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*
Run Code Online (Sandbox Code Playgroud)

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

~/me/foo/src/app > ng g c a/b/c/d/e/f/g/bar
// Error
Run Code Online (Sandbox Code Playgroud)


Iva*_*aia 9

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

ng gc/models/todo

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

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

ng gc/models/todo -m model

问候

  • 这创建了一个组件而不是一个类 (2认同)

小智 6

 ng g cl model/UserInfo
works fine in angular5
Run Code Online (Sandbox Code Playgroud)


小智 6

用于在 Angular 4/5/6 中生成类

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

然后在终端内使用

ng g class classname --type=model
Run Code Online (Sandbox Code Playgroud)


Mou*_*ssi 5

ng generate component my-new-component

ng g component my-new-component # using the alias
Run Code Online (Sandbox Code Playgroud)

组件支持相对路径生成

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

ng g component new-cmp
Run Code Online (Sandbox Code Playgroud)

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

但如果你跑了

ng g component ../newer-cmp
Run Code Online (Sandbox Code Playgroud)

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

这也适用于课程

检查:Github angular-cli

  • ng g class app/models/todo(你从app文件夹开始) (2认同)