Compatibility between Angular CLI version & Angular Core version?

时间:2019-01-07 13:42:52

标签: angular command-line-interface angular-cli

Is there any way to know which Angular CLI version to install which is compatible with my Angular Core version? Are they completely independent?

Working on an existing Angular App with Core v5.2.8, I see they use CLI v6.0.8 so I was wondering which version of CLI should we use?

The compatibility between Angular CLI & Angular Core is documented nowhere.

1 个答案:

答案 0 :(得分:0)

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

package.json中的版本应始终兼容。

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

npm run -- ng generate component foo

代替此:

ng generate component foo

它将始终使用本地版本。

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

yarn run ng generate component foo

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

此问题在版本6中已更改,因此实际上与之相关:

在Angular v6和更高版本中,@Injectable装饰器的功能得到了扩展,从而产生了不同的样板:

之前:

@Injectable()

之后:

@Injectable({
  providedIn: 'root'
})

从而消除了将所有服务添加到应用程序内的应用程序模块的必要性。

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