代码之家  ›  专栏  ›  技术社区  ›  hzitoun

Angular CLI版本和Angular Core版本之间的兼容性?

  •  0
  • hzitoun  · 技术社区  · 6 年前

    有什么方法可以知道要安装哪个Angular CLI版本与我的Angular Core版本兼容吗?他们完全独立吗?

    在使用核心V5.2.8的现有角度应用程序中,我看到它们使用CLI V6 .0.8,所以我想知道应该使用哪种版本的CLI?

    Angular CLI和Angular Core之间的兼容性在任何地方都没有记录。

    1 回复  |  直到 6 年前
        1
  •  0
  •   mchl18    6 年前

    人们经常做的一件事就是使用全局安装。但是,这可能会导致与旧项目不一致。

    你的版本 package.json 应该总是兼容的。

    要确保运行本地版本,请执行以下操作:

    npm run -- ng generate component foo

    而不是这个:

    ng generate component foo

    然后它将始终使用本地版本。

    纱传递所有参数,因此不需要丑陋的注释:

    yarn run ng generate component foo

    例如,Angular如何处理服务DI就是一个很好的例子。 而在以前的版本中,必须将每个服务作为提供者添加到应用程序模块中。

    这是在版本6中更改的,因此这实际上是相关的:

    在v6和更高版本的Angular中 @Injectable decorator的扩展功能导致了一个不同的样板:

    之前:

    @Injectable()
    

    之后:

    @Injectable({
      providedIn: 'root'
    })
    

    从而消除了在应用程序中向应用程序模块添加所有服务的必要性。

    因此,从CLI v6创建服务产生了一个与v5不兼容的模板。