我正在使用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

其他回答

要在VS code中打开终端,只需输入CTRL + ~,这将打开终端。以下是步骤:

检查需要在其中生成新组件的特定组件。 将路径重定向到需要生成另一个组件的特定文件夹/组件

例如:cd src/app/ specialarcomponent

在specialcomponent的位置,键入需要生成新组件的组件名称。

一旦进入需要生成新组件的组件,只需键入以下命令:ng g c NewComponentName

(将NewComponentName更改为所需的组件名称。)

在命令提示符或项目终端中转到项目文件夹。

执行cmd: ng g c componentname命令

进入项目目录后。 使用CD路径/到/目录,然后使用ng g c component_name,它将自动执行所有操作,并且没有错误

g c表示生成分量

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

ng g组件plainsight/some-name在我们使用它时创建了一个新目录。

最终输出将是:

plainsight/some-name/some-name.component.ts

为了避免这种情况,使用平面选项ng g component plainsight/some-name——flat,它将生成文件而不创建新文件夹

plainsight/some-name.component.ts