是否可以使用单个 angular-cli 命令(如 ng generate component comp1、comp2、comp3)生成多个 Angular 组件?
Posted
技术标签:
【中文标题】是否可以使用单个 angular-cli 命令(如 ng generate component comp1、comp2、comp3)生成多个 Angular 组件?【英文标题】:Is it possible to generate multiple Angular components using single angular-cli command like ng generate component comp1, comp2, comp3? 【发布时间】:2018-12-13 13:33:35 【问题描述】:我需要创建十个 Angular 组件,例如 comp1、comp2、comp3、comp4、...、comp10。 所以我需要为每个组件(如 ng g c comp1、ng g c comp2 等)执行十次相同的命令。
是否有使用单个 angular-cli 命令(如 ng g c comp1、comp2、comp3)生成多个角度分量的选项。
【问题讨论】:
Angular 尚不支持 .. 将来您可能会获得此功能。 在 github github.com/angular/angular/issues/24761 上创建了相同的功能请求,敬请期待更新 创建空组件后,您将编写一些代码,对其进行测试和验证。然后根据需要继续创建依赖组件。如何/为什么会出现对某些确定性组件集的需求 只在你的shell上写循环? @NitinSingh 同意你的观点,但在应用程序开始时,最需要常见的组件骨架,如主页、工具栏、页脚或类似登录、注册。 【参考方案1】:嗯,到目前为止,Angular CLI 还没有任何东西可以创建多个组件。但这可以在任何 shell 中轻松完成。
在你的 bash shell 中运行这个命令 -
for i in comp1 comp2; do ng g c "$i"; done
特别感谢Ingo Bürk的回答
【讨论】:
所以你从 Github 复制了我的确切答案,甚至包括措辞,甚至没有提及? @IngoBürk 是的,我已经发布了指向 GitHub 问题的链接,您可以在问题的 cmets 上查看。没关系,我也会更新答案:)【参考方案2】:Microsoft Windows 变体
在根目录中:
for %n in (component-name-1, component-name-2, ...) do ng g c %n
在模块中:
for %n in (component-name-1, component-name-2, ...) do ng g c module-name/%n
在模块中,没有测试:
for %n in (component-name-1, component-name-2, ...) do ng g c module-name/%n --skipTests=true
Angular - ng generate
Windows CMD FOR command reference
【讨论】:
【参考方案3】:我刚刚创建了一个 bash 脚本
createcomponent.sh
下面的一小段代码
#!/bin/bash
while [ "$1" != "" ]; do
npx ng g c "components/$1"
shift
done
然后就叫它
createcomponent.sh comp1 comp2 comp3 ...
如果有人使用 Windows,也可以使用 .bat 完成相同的操作。 npx 如果使用全局安装的 Angular,则不需要关键字
【讨论】:
【参考方案4】:如果您不想在此处创建脚本,这是一种可行的技巧
-
打开记事本或任何文本编辑器
使用如下语法编写组件名称:
-
在您的 CLI 中复制并粘贴(我使用了 Git bash)。它将一一执行,没有任何忙碌。您还可以添加特定于组件的参数
【讨论】:
以上是关于是否可以使用单个 angular-cli 命令(如 ng generate component comp1、comp2、comp3)生成多个 Angular 组件?的主要内容,如果未能解决你的问题,请参考以下文章
您必须在 angular-cli 项目中才能在重新安装 angular-cli 后使用 build 命令