四种不同版本的打字稿?

时间:2019-05-27 18:31:43

标签: angular typescript

我试图自学Angular,并在更新版本(node,angular-cli等)时偶然发现了Typescript的4个不同版本。谁能告诉我区别吗?

以下屏幕截图的左侧是vscode。上部是“ ng version”的结果。屏幕截图中的数据截取为:

 - Angular CLI: 7.3.9
 - Node: 10.15.3
 - OS: win32 x64
 - Angular: 7.1.4
... common, compiler, compiler-cli, core, forms
... language-service, platform-browser, platform-browser-dynamic
... router

在右侧的我在用户位置中打开的cmd提示符。

enter image description here

我会尝试给出自己的解释,请纠正我:)

  1. 3.1.6我会说这是我在项目中使用的Typescript版本
  2. 3.2.2然后这可能是我的全局版本(%AppData%\Roaming\npm中当前安装的版本)
  3. 3.4.5 ...对此一无所知。我只是看了一下,实际上它是本文发布时的最新版本。这比Angular 7.1.4所支持的要高(我发现here时Angular 8.0.0-beta.9支持3.3 ...这是一个重大更改,因此这根本不起作用我明白)。我想知道这是否是数字,而不是Typescript以外的内容(但是什么?)
  4. 3.2.4,这使我感到困惑,我不知道它从哪里来

我还在本地和全局运行npm list typescript。不知道这意味着什么(正如我所说,我仍在尝试学习...),但这是结果:

enter image description here

2 个答案:

答案 0 :(得分:4)

版本3.1.6

是的,这是您的Typescript本地版本,专门针对您的项目。

版本3.2.2

这是Typescript的全局版本。这就是为什么当您输入tsc --version

时,两个位置都没有改变的原因

有些软件包需要其他库的特定版本才能正常工作

版本3.2.4

这是@angular/cli的依赖项,即,当您安装@angular/cli时,它将自动安装此版本的typescript作为对工作属性的依赖项。

版本3.4.5

它显示在VS代码的右上角。 Vs代码带有自己的Typescript版本,由于编辑器是用Typescript编写的,因此在内部使用。

答案 1 :(得分:1)

那是一个非常整洁的分析,您在自己的解释中几乎完全正确。至于缺少的部分,请查看以下说明:

如您所正确指出的,

3.1.6是项目中已安装的版本

3.2.2是您全局安装的版本。

3.2.4是angular-cli安装的打字稿。

3.4.5是当前版本的Visual Code支持的最新版本。 Visual Code提供的智能感知将使用此版本。

据我所知,您的Angular项目将在TSC版本3.1.6上运行,因为它是在本地引用的。 (如果我弄错了,请纠正我)

您不必担心会有重大更改,因为版本3.4.5仅用于VS Code提供智能感知。