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

E:\HiddenWords>ng generate component plainsight

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


当前回答

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

cd path/to/specific/directory

从那里,我运行ng g c mynewcomponent

其他回答

如果你使用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 

希望这对大家有所帮助

超级简单,

其他方式,

在终端打开文件夹,

* * xxx \ FOLDER_NAME > FOLDER_NAME cd

生成组件平台的 xxx\FOLDER_NAME>

如果你像我一样复制路径(Visual studio代码),

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

ng g c folder-name/component-name

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

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

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

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