我正在使用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 c folderName/SubFolder/.../componentName --spec=false
其他回答
使用自定义目录时需要使用——dryRun
您可以通过ng命令传递您的自定义目录路径。
我的伙伴
但是有可能您拼写错误了路径,或者创建了新的文件夹,或者目标目录更改了。因此,dryRun非常有用。它显示了将如何影响更改的输出。
在验证结果之后,您可以运行不带-d的相同命令来进行更改。
——dryRun = true |假 当为true时,运行并报告活动而不写入结果。 默认值:假 别名:- d
官方医生:- https://angular.io/cli/generate
有几种方法可以在特定目录中创建组件。
方法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路径/到/目录,然后使用ng g c component_name,它将自动执行所有操作,并且没有错误
g c表示生成分量
上面的选项不适合我,因为与在终端中创建目录或文件不同,当CLI生成一个组件时,它默认将路径src/app添加到您输入的路径中。
如果我从主应用文件夹中生成组件像这样(错误的方式)
ng g c ./src/app/child/grandchild
生成的组件是这样的:
src/app/src/app/child/grandchild.component.ts
所以我只需要打字
ng g c child/grandchild
希望这对大家有所帮助
更短的代码来生成组件:ng g c component-name 指定它的位置:ng g c specific-folder/component-name
额外的信息 更短的代码生成指令:ng g d directive-name 指定它的位置:ng g d specific-folder/directive-name