【问题标题】:Four different versions of typescript?四种不同版本的打字稿?
【发布时间】:2019-10-13 07:35:41
【问题描述】:

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

下面截图左侧是vscode。上半部分是“ng版本”的结果。截屏的数据截取为:

 - 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 提示符。

我会尽量给出我自己的解释,请纠正我:)

  1. 3.1.6 我想说这是我在项目中使用的 Typescript 版本
  2. 3.2.2那么这可能是我的全球版本(目前安装在%AppData%\Roaming\npm中的那个)
  3. 3.4.5... 不知道这个。我刚刚查了一下,它实际上是本文发布时的最新可用版本。这比 Angular 7.1.4 支持的要高(Angular 8.0.0-beta.9 支持 3.3,因为我发现 here... 这是一个重大变化,所以据我所知,这根本不起作用)。我想知道这是不是数字显示的不是打字稿(但是什么?)
  4. 3.2.4这个让我很困惑,我不知道它是从哪里来的

我还在本地和全球范围内运行了 npm list typescript。不确定这意味着什么(正如我所说,我仍在努力学习......)但结果如下:

【问题讨论】:

  • 哪个屏幕截图来自您的 Angular 项目?
  • 左边那个(那是visual studio代码,在我的项目位置打开)
  • ng version 打印的那个才是最重要的。这是ng 将执行以构建项目的那个,并且当环境 更改时,此版本 保持不变。例如;如果您在运行npm install 后在另一台机器上构建。您不应该手动更改此版本,因为 Angular 需要特定版本,并且当您为 Angular 的下一个版本运行 ng upgrade 时,它会更新它。

标签: angular typescript


【解决方案1】:

版本3.1.6

你是对的,这是你的项目特有的本地版本的 Typescript。

版本3.2.2

这是 Typescript 的全球版本。这就是为什么当你输入 tsc --version 时它在两个位置都没有改变的原因

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

版本3.2.4

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

版本3.4.5

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

【讨论】:

    【解决方案2】:

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

    3.1.6 正如您正确指出的那样是在您的项目中安装使用的一个

    3.2.2 是你全局安装的那个。

    3.2.4是angular-cli安装的typescript。

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

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

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2019-03-03
      • 2018-05-10
      • 1970-01-01
      • 2021-01-03
      • 2017-12-10
      • 2017-08-06
      • 2022-01-24
      相关资源
      最近更新 更多