Angular cli 如何使用CLI在Angular 4中创建新组件

Angular cli 如何使用CLI在Angular 4中创建新组件,angular-cli,Angular Cli,在angular 2中,我使用 ng g c componentname 但它在Angular 4中不受支持, 所以我手动创建了它,但它显示错误,它不是一个模块 ng g component componentname 它生成组件并将组件添加到模块声明中 手动创建组件时,应在模块声明中添加组件,如下所示: @NgModule({ imports: [ yourCommaSeparatedModules ], declarations: [ yourCommaS

在angular 2中,我使用

ng g c componentname
但它在Angular 4中不受支持, 所以我手动创建了它,但它显示错误,它不是一个模块

ng g component componentname
它生成组件并将组件添加到模块声明中

手动创建组件时,应在模块声明中添加组件,如下所示:

@NgModule({
  imports: [
    yourCommaSeparatedModules
    ],
  declarations: [
    yourCommaSeparatedComponents
  ]
})
export class yourModule { }

在Angular4中,这同样适用。如果你出错了,我想你的问题出在别的地方了

在命令提示符类型中

ng生成组件YOURCOMPONENTNAME

甚至还有这样的缩写:命令
generate
可以用作
g
component
作为
c

ng g c您的组件名称

您可以对文档使用
ng--help
ng g--help
ng g c--help

当然,将您的组件名称重命名为您想要使用的名称

angular cli将在app.module.ts中自动添加对组件、指令和管道的引用


更新:这在Angular版本8中仍然有效。

您是否将Angular cli更新为最新版本?或者您是否尝试更新节点、npm或typescript?出现此问题的原因是angular/typescript/node等版本。如果要更新cli,请在此处使用此链接。

在我的
src
文件夹中碰巧有另一个
.angular cli.json
文件。移除它解决了问题。希望能有帮助

angular 4.1.1

angular cli 1.0.1

ng生成组件名称在我的案例中不起作用,因为我没有使用“app”作为项目文件夹名称,而是将其重命名为其他名称。 我又把它改成了app。 现在,它工作正常了(1)首先转到您的项目目录

2) 然后在终端中运行下面的命令

ng generate component componentname

ng g component componentname
3) 之后您将看到这样的输出

create src/app/test/componentname.component.css (0 bytes)
create src/app/test/componentname.component.html (23 bytes)
create src/app/test/componentname.component.spec.ts (614 bytes)
create src/app/test/componentname.component.ts (261 bytes)
update src/app/app.module.ts (1087 bytes)
在键入此检查之前,您将处于项目指令路径中

ng g c COMPONENTNAME
该命令用于使用我在angular2中使用的终端生成组件

为组件生成c


ng g c——试跑,这样在你真正开始之前就可以看到你要做什么,这样可以避免一些挫折感。只是向您展示了它在没有实际操作的情况下将要做什么。

通过开发服务器生成并服务于Angular项目-

首先转到您的项目目录,然后键入下面的-

ng new my-app
cd my-app
ng generate component User (or) ng g c user 
ng serve
此处“D:\Angular\my app>”是我的Angular应用程序项目目录,“用户”是组件的名称

普通人看起来像-

D:\Angular\my-app>ng g component User
  create src/app/user/user.component.html (23 bytes)
  create src/app/user/user.component.spec.ts (614 bytes)
  create src/app/user/user.component.ts (261 bytes)
  create src/app/user/user.component.css (0 bytes)
  update src/app/app.module.ts (586 bytes)

ng g c COMPONENTNAME
应该可以工作,如果您的模块未找到异常,请尝试以下操作-

  • 检查项目目录
  • 如果您使用的是visual studio代码,请重新加载它或在其中重新打开项目
    转到angular project文件夹并打开命令promt an type“ng g component header”
    其中header是您要创建的新组件。默认情况下,header组件将在app组件内创建。您可以在组件内创建组件。例如,如果您要在我们上面创建的header内创建组件,请键入“ng g component header/menu”。这将在标题组件内创建一个菜单组件,您应该位于命令行上angular cli项目的
    src/app
    文件夹中。例如:

    D:\angular2-cli\first-app\src\app> ng generate component test
    
    只有这样,它才会生成您的组件

    ng g c componentname
    
    它将创建以下4个文件:

  • componentname.css
  • componentname.html
  • componentname.spec.ts
  • componentname.ts

  • 转到指定文件夹中的项目位置

    C:\Angular6\sample>
    
    您可以在此处键入命令

    C:\Angular6\sample>ng g c users
    
    这里g表示生成,c表示组件,users是组件名

    它将生成4个文件

    users.component.html,
    users.component.spec.ts,
    users.component.ts,
    users.component.css
    
    步骤1:

    进入项目目录(将cd放入已创建的应用程序中)

    步骤2:

    键入以下命令并运行

    ng生成组件[componentname]
    

    • 在[componentname]部分添加要生成的组件的名称。

    ng g component componentname
    
    ng生成c[componentname]
    

    • 在[componentname]部分添加要生成的组件的名称。
    两者都能起作用

    请参阅本节的角度文档

    还可以在github上签出Angular Cli的链接以供参考


    转到CMD中的项目目录,并运行以下命令。您也可以使用VisualStudio代码终端

    ng生成组件“组件名称”

    ng g component componentname
    
    ng g c“组件名称”

    将创建一个带有
    “组件名称”
    的新文件夹

    component\u name/component\u name.component.html 组件名称/组件名称.component.spec.ts 组件名称/组件名称.component.ts 组件名称/组件名称.component.css

    新组件将自动添加到模块中

    可以通过以下命令避免创建等级库文件


    ng g c“component_name”--nospec

    如果要创建没有
    .spec
    文件的新组件,可以使用

    ng g c component-name --spec false
    

    您可以使用
    nggc--help

    找到这些选项,确保您在CMD行的项目目录中

        ng g component componentName
    

    它将自动导入模块中的组件。ts

    在角度上生成新组件的方法主要有两种:,
    使用
    ngc
    ,另一种方法是使用
    ng生成组件。使用这些命令之一可以生成新组件

    用于在特定文件夹下创建组件

    ng g c employee/create-employee --skipTests=false --flat=true
    
    ng g c create-employee --skipTests=false --flat=true
    
    这一行将创建
    > ng generate component "componentname"
    ex: ng generate component shopping-cart
    
    > ng g c shopping-cart
    
    > ng g c shopping-cart --skipTests true
    
    > ng g c ecommerce/shopping-cart