我正在使用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 folder-name/component-name
使用Angular-CLI在特定(现有)模块的文件夹中创建一个组件:
ng g c folder-name/component-name --module=folder-name/moduleName.module.ts
其他回答
假设你想在一个模块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
上面的选项不适合我,因为与在终端中创建目录或文件不同,当CLI生成一个组件时,它默认将路径src/app添加到您输入的路径中。
如果我从主应用文件夹中生成组件像这样(错误的方式)
ng g c ./src/app/child/grandchild
生成的组件是这样的:
src/app/src/app/child/grandchild.component.ts
所以我只需要打字
ng g c child/grandchild
希望这对大家有所帮助
进入项目目录后。 使用CD路径/到/目录,然后使用ng g c component_name,它将自动执行所有操作,并且没有错误
g c表示生成分量
更短的代码来生成组件:ng g c component-name 指定它的位置:ng g c specific-folder/component-name
额外的信息 更短的代码生成指令:ng g d directive-name 指定它的位置:ng g d specific-folder/directive-name