我正在使用 Angular CLI 和 Angular 4,可以通过以下命令创建一个新的组件。
E:\HiddenWords>ng generate component plainsight
但是我需要在明显的地方生成一个子组件。在使用Angular CLI的情况下是否有方法可以实现?
我正在使用 Angular CLI 和 Angular 4,可以通过以下命令创建一个新的组件。
E:\HiddenWords>ng generate component plainsight
但是我需要在明显的地方生成一个子组件。在使用Angular CLI的情况下是否有方法可以实现?
ng g component plainsight/some-name
会在使用时创建一个新目录。
最终输出结果为:
plainsight/some-name/some-name.component.ts
为了避免这种情况,请使用flat选项ng g component plainsight/some-name --flat
,它将生成文件而不需要创建新的文件夹
plainsight/some-name.component.ts
有几种方法可以在特定目录中创建组件。
例如,您想要在下面给出的图像中的app/common
文件夹中创建一个组件,然后按照以下步骤操作:
在集成终端中打开
或在命令提示符中打开
。ng g c my-component
即,您想要在某个文件夹中创建组件,您可以输入包括路径和组件名称的完整命令。
ng g c relative-path/my-component
注意(方法三):angular不允许你在app文件夹之外创建组件,所以对于组件来说,你的基本路径将是app
文件夹,这就是为什么在我的情况下,我必须从auth/a-component
开始,而不是src/app/auth/a-component
ng g c component-name
要指定自定义位置: ng g c specific-folder/component-name
这里的component-name
将会在specific-folder内创建。
同样的方法也可以用于生成其他组件,如directive
,pipe
,service
,class
,guard
,interface
,enum
,module
等。
更短的代码可用于生成组件:ng g c component-name
要指定组件位置:ng g c specific-folder/component-name
附加信息
更短的代码可用于生成指令:ng g d directive-name
要指定指令位置:ng g d specific-folder/directive-name
以上选项对我来说不起作用,因为与在终端中创建目录或文件不同,当 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 folder-name/component-name
使用Angular-CLI在特定(现有)模块中创建一个文件夹内的组件:
ng g c folder-name/component-name --module=folder-name/moduleName.module.ts
ng g c folderName/SubFolder/.../componentName --spec=false
我尝试了以上回答(包括 --flat
),但是都没有成功,对我有帮助的方法是:
cd path/to/specific/directory
从那里,我运行了 ng g c mynewcomponent
ng generate component plainsight
时得到了一个不错的结果,现在你想要生成一个子组件,那么只需要运行ng generate component plainsight/child
即可。 - Martin Zamorang generate component path/to/folder/plainsight -d
- Juan Pablo