我可以使用最新的稳定TypeScript,还是应该坚持使用AngularCLI附带的版本?

Fra*_*rzi 2 typescript angular-cli angular

我无法找到任何关于是否使用最新稳定版本升级TypeScript版本的官方建议.

package.json创建新项目时,AngularCLI 会自动设置npm版本.目前是:

"typescript": "~2.4.2"

这意味着最新2.4.x版本.我想知道是否可以使用最新的稳定TypeScript版本(以及会产生什么影响),例如2.5.x.

有没有设定一个具体的理由~2.4.2,而不是"^2.4.2(这意味着最新2.x.x版本).

Kun*_*vič 7

Angular cli可能并不总是支持最新版本的TypeScript.有一些问题和PR有关:
- 支持TypeScript 2.4+
- Typescript 2.4支持
- feat(@ angular/cli):支持TypeScript 2.4

另外请记住,最新的TypeScript版本可能与您的Angular版本不兼容.

如果您想跳转到新的/最新的TypeScript版本,则风险自负.一旦你这样做,你必须确保它没有像tests(ng t),prod build(ng build --prod)等那样破坏.

如果你坚持使用默认的cli TypeScript版本,那么你是安全的.

UPDATE 2017年9月9日:对于谁在乎CLI使用最新的打字稿结帐这个最近有人github上的问题和这个特别的评论,因为是TypeScript version warning logic在最新的CLI介绍1.4.以下是它的基础(角度cli团队推荐):

 const versionCombos = [
      { compiler: '>=2.3.1 <3.0.0', typescript: '>=2.0.2 <2.3.0' },
      { compiler: '>=4.0.0 <5.0.0', typescript: '>=2.1.0 <2.4.0' },
      { compiler: '>=5.0.0 <6.0.0', typescript: '>=2.4.0 <2.6.0' }
    ];
Run Code Online (Sandbox Code Playgroud)


Sib*_*raj 1

是的,您可以更改/更新,但请确保遵循每个版本的支持和更新。每个版本都会改​​变。

我使用最新的打字稿版本,到目前为止从未遇到过问题。

更新:

自 Angular 1.4起,Angular-cli 在服务、构建和版本检查时报告所需的打字稿版本

例子:

@angular/compiler-cli@4.3.6 需要 typescript@'>=2.1.0 <2.4.0' 但找到了 2.4.2。使用此版本可能会导致未定义的行为和难以调试的问题。

请运行以下命令来安装兼容版本的 TypeScript。

npm install typescript@'>=2.1.0 <2.4.0'
Run Code Online (Sandbox Code Playgroud)

要禁用此警告,请运行“ng set --global warnings.typescriptMismatch = false”。