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

E:\HiddenWords>ng generate component plainsight

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


当前回答

有几种方法可以在特定目录中创建组件。

方法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

Ng g c组件名称

用于指定自定义位置:ng g c specific-folder/component-name

在这里,component-name将在specific-folder中创建。

类似的方法可以用于生成其他组件,如指令、管道、服务、类、保护、接口、枚举、模块等。

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

Ng g c组件名称——flat

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

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

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

例如:cd src/app/ specialarcomponent

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

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

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