我正在使用Angular 4和Angular CLI,我可以用下面的命令创建一个新组件。

E:\HiddenWords>ng generate component plainsight

但我需要在plainsight内生成一个子组件。有办法用Angular CLI来实现吗?


当前回答

我在上面的答案上没有任何运气(包括-平坦),但对我来说有用的是:

cd path/to/specific/directory

从那里,我运行ng g c mynewcomponent

其他回答

在一个特定的文件夹中创建一个组件:

ng g c folder-name/component-name

使用Angular-CLI在特定(现有)模块的文件夹中创建一个组件:

ng g c folder-name/component-name --module=folder-name/moduleName.module.ts

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路由

希望这能有所帮助!

好运!

假设你想在一个模块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)

使用此命令打开特定的文件夹Terminal

Ng g c组件名称——flat

使用自定义目录时需要使用——dryRun

您可以通过ng命令传递您的自定义目录路径。

我的伙伴

但是有可能您拼写错误了路径,或者创建了新的文件夹,或者目标目录更改了。因此,dryRun非常有用。它显示了将如何影响更改的输出。

在验证结果之后,您可以运行不带-d的相同命令来进行更改。

——dryRun = true |假 当为true时,运行并报告活动而不写入结果。 默认值:假 别名:- d

官方医生:- https://angular.io/cli/generate