我正在使用Angular 4和Angular CLI,我可以用下面的命令创建一个新组件。
E:\HiddenWords>ng generate component plainsight
但我需要在plainsight内生成一个子组件。有办法用Angular CLI来实现吗?
我正在使用Angular 4和Angular CLI,我可以用下面的命令创建一个新组件。
E:\HiddenWords>ng generate component plainsight
但我需要在plainsight内生成一个子组件。有办法用Angular CLI来实现吗?
ng g组件plainsight/some-name在我们使用它时创建了一个新目录。
最终输出将是:
plainsight/some-name/some-name.component.ts
为了避免这种情况,使用平面选项ng g component plainsight/some-name——flat,它将生成文件而不创建新文件夹
plainsight/some-name.component.ts
更短的代码来生成组件:ng g c component-name 指定它的位置:ng g c specific-folder/component-name
额外的信息 更短的代码生成指令:ng g d directive-name 指定它的位置:ng g d specific-folder/directive-name
Ng g c组件名称
用于指定自定义位置:ng g c specific-folder/component-name
在这里,component-name将在specific-folder中创建。
类似的方法可以用于生成其他组件,如指令、管道、服务、类、保护、接口、枚举、模块等。
有几种方法可以在特定目录中创建组件。
方法1:“在集成终端中打开”-快速,简单,无错误的方法
例如,你想在app/common文件夹中创建一个组件,如下图所示,然后按照以下步骤操作
右键单击要在其中创建组件的文件夹。 选择“在集成终端中打开”或“在命令提示符中打开”选项。 在新终端(你会看到你选择的路径),然后输入ng g c my-component
你也可以通过这张图片来检查这个过程
方法二:复制相对路径,粘贴到终端上
右键单击要在其中创建组件的文件夹 从上下文菜单中,选择拷贝相对路径 在终端上,输入cd,按空格键,然后按ctrl + v粘贴复制的路径,并按Enter 您将看到目录已被更改。
你也可以通过这张图片来检查这个过程
方法三:在终端上输入完整路径
例如,你想在某个文件夹中创建组件,你输入整个命令,包括路径和组件名称。
ng g c relative-path/my-component
你也可以通过这张图片来检查这个过程
注意(方法-3):angular不允许你在app文件夹外创建组件,因此对于组件,你的基本路径将是app,这就是为什么在我的例子中,我必须从auth/a-component开始,而不是src/app/auth/a-component
我在上面的答案上没有任何运气(包括-平坦),但对我来说有用的是:
cd path/to/specific/directory
从那里,我运行ng g c mynewcomponent
Angular CLI提供了应用开发中需要的所有命令。对于您的特定需求,您可以轻松地使用ng g (ng generate)完成工作。
Ng c目录/component-name将在目录文件夹中生成component-name组件。
下面是您可以在应用程序中使用的一些简单命令的映射。
Ng g c comp-name或Ng generate component comp-name来创建一个名为'comp-name'的组件 Ng g s serv-name或Ng generate service serv-name来创建一个名为'serv-name'的服务 Ng g m mod-name或Ng generate module mod-name来创建一个名为'mod-name'的模块 Ng g m mod-name——routing或Ng generate module mod-name——routing来创建一个名为'mod-name'的模块,用于angular路由
希望这能有所帮助!
好运!
首先创建一个组件,你需要使用:-
Ng g c组件名 通过使用上述命令,新组件将创建在一个文件夹 (componentname)您上面指定的。
但是如果你需要在另一个组件中或在特定的文件夹中创建一个组件:-
的 g c 组件名称/新组件名称
如果你使用VSCode,可以考虑使用Angular控制台
它为Angular CLI提供了一个接口。您将看到一个用于指定路径的选项。
Angular CLI是非常强大和可扩展的。事实上,有如此多的功能,对于开发人员来说,为每个命令提供所有不同的配置选项是很有帮助的。 有了Angular Console,你会得到推荐,甚至可以找到最容易忘记或很少使用的特性! 首先,Angular Console是一种更高效地使用Angular CLI提供的功能的方式。
上面的选项不适合我,因为与在终端中创建目录或文件不同,当CLI生成一个组件时,它默认将路径src/app添加到您输入的路径中。
如果我从主应用文件夹中生成组件像这样(错误的方式)
ng g c ./src/app/child/grandchild
生成的组件是这样的:
src/app/src/app/child/grandchild.component.ts
所以我只需要打字
ng g c child/grandchild
希望这对大家有所帮助
使用自定义目录时需要使用——dryRun
您可以通过ng命令传递您的自定义目录路径。
我的伙伴
但是有可能您拼写错误了路径,或者创建了新的文件夹,或者目标目录更改了。因此,dryRun非常有用。它显示了将如何影响更改的输出。
在验证结果之后,您可以运行不带-d的相同命令来进行更改。
——dryRun = true |假 当为true时,运行并报告活动而不写入结果。 默认值:假 别名:- d
官方医生:- https://angular.io/cli/generate
要在VS code中打开终端,只需输入CTRL + ~,这将打开终端。以下是步骤:
检查需要在其中生成新组件的特定组件。 将路径重定向到需要生成另一个组件的特定文件夹/组件
例如:cd src/app/ specialarcomponent
在specialcomponent的位置,键入需要生成新组件的组件名称。
一旦进入需要生成新组件的组件,只需键入以下命令:ng g c NewComponentName
(将NewComponentName更改为所需的组件名称。)
在一个特定的文件夹中创建一个组件:
ng g c folder-name/component-name
使用Angular-CLI在特定(现有)模块的文件夹中创建一个组件:
ng g c folder-name/component-name --module=folder-name/moduleName.module.ts
超级简单,
其他方式,
在终端打开文件夹,
* * xxx \ FOLDER_NAME > FOLDER_NAME cd
生成组件平台的 xxx\FOLDER_NAME>
如果你像我一样复制路径(Visual studio代码),
2021进一步加快IDE插件的使用
如果你想进一步加快这个通常的过程,并避免花费你时间的常见错误,你可以尝试使用visual studio代码插件。
例如,我使用Angular-Schematics,我避免使用终端。你可以用鼠标选择调用ng cli。
假设你想在一个模块Box中创建一个组件Container,模块已经创建好了,并且存在于它自己的文件夹src/app/ Box中。
您可以这样做——当被要求提供组件名称时,提供组件的路径和组件名称。
ng g c -m box
? What name would you like to use for the component? box/Container
CREATE src/app/box/container/container.component.scss (0 bytes)
CREATE src/app/box/container/container.component.html (24 bytes)
CREATE src/app/box/container/container.component.spec.ts (647 bytes)
CREATE src/app/box/container/container.component.ts (288 bytes)
UPDATE src/app/box/box.module.ts (286 bytes)
打开一个终端窗口,导航到Angular项目的根目录。创建文件夹
运行如下命令在指定文件夹中生成新组件:
ng generate component <folderName>/<componentName>
例如,如果你想在名为“components”的文件夹中创建一个名为“myComponent”的新组件,命令将是:
ng generate component components/myComponent