TypeScript设置,配置,版本和包

时间:2017-09-14 21:24:21

标签: .net visual-studio typescript msbuild nuget

虽然我已经使用TypeScript大约一年了,但我还没有必要使用它创建和配置任何绿地项目。我现在正试图这样做,并且发现变量的数量是压倒性的。我似乎无法找到关于如何最好地为特定情况设置(即.Net版本,TS版本,VS版本等)的明确和权威的答案。因此,我很困惑,并对一些不同但相关的事情有疑问。我在那个空间的边缘摇摇晃晃地说,我不太确定要问什么问题,但我还是会去尝试。

首先,我想指出我的特定发展情况:

  • 我使用的是Visual Studio 2015,专业版和社区版。这在不久的将来不太可能改变。
  • 我通常在目标.Net Framework 4.5.x和4.6.x上工作的项目,这也不太可能很快改变。
  • 我至少需要TypeScript版本2.0.6.0,但欢迎有机会在新版本可用时将其定位。

问题:

  1. 如何安装和定位多个版本的TypeScript?我使用TypeScript的原始经验要求将TypeScript作为独立安装下载。安装导致TypeScript出现在VS"扩展和更新列表中。"这似乎暗示在给定的机器上只能使用一个版本的TypeScript。那么,您如何支持可能使用不同版本的不同项目?

  2. TypeScriptTeam(Microsoft.TypeScript.Compiler,Microsoft.TypeScript.MSBuild)发布的NuGet包应该用于什么?这些是上述问题的答案吗?它们是否意味着要取代我之前描述的独立单版本安装?我目前正在处理(但未配置)的TypeScript项目没有这些包。

  3. NuGet是获取库类型定义的正确位置吗?在设置时,我为我使用的库(Knockout,jQuery等)抓取了几个这样的包。但是,在过去几天研究TypeScript设置和配置时,我遇到了this StackOverflow question,这反过来导致我this project,其自述文件似乎意味着NuGet不再是正确选择类型定义的地方。如果我的推论是正确的,那么获得它们的最佳方法是什么?要清楚,上面链接的SO问题是关于NuGet不恢复脚本文件。我对这一部分并不感到困惑。

  4. 为什么我没有.jsproj文件?在研究所有这些的同时,我发现了很多关于这个文件的提及以及需要在其中编辑的内容,但是,我在任何解决方案中都没有这个文件。这仅限于.Net Core解决方案吗?如果是,那么.Net Framework中的等价物是什么?

1 个答案:

答案 0 :(得分:0)

  
      
  1. 如何安装和定位多个版本的TypeScript?
  2.   

您可以从以下网站下载TypeScript.exe版本:

http://www.microsoft.com/en-us/download/details.aspx?id=48593

下载某些版本的typeScript.exe后,再安装它。您可以在路径中找到它们:C:\Program Files (x86)\Microsoft SDKs\TypeScript

enter image description here

之后,您的计算机上将安装多个版本的Typescript。因此,通过在项目文件中指定该版本,可以将Visual Studio中的每个项目配置为使用不同的版本。

enter image description here

此外,在Visual Studio 2017中,TypeScript更新的应用方式与Visual Studio 2015中的方式略有不同

  

In Visual Studio 2017, TypeScript updates are applied slightly differently than in Visual Studio 2015, however you can now have multiple TypeScript versions installed and choose specific versions for each of your projects.

您可以参考this Wiki了解更多详细信息。

  
      
  1. TypeScriptTeam(Microsoft.TypeScript.Compiler,Microsoft.TypeScript.MSBuild)发布的NuGet包应该用于什么?这些是上述问题的答案吗?它们是否意味着要取代我之前描述的独立单版本安装?我目前正在处理的TypeScript项目(但没有配置)没有这些包。
  2.   

AFAIK,从nuget包安装了旧版本的Typescript,VS使用该路径知道应该使用哪个版本的typescript进行编译。如果您使用的是Visual Studio 2013或更高版本,则需要安装TypeScript。由于您使用的是Visual Studio 2015,因此该软件包不会取代独立的单版本安装。当前没有这些软件包的TypeScript项目的原因是您必须在计算机上安装TypeScript SDK

  
      
  1. NuGet是获取库类型定义的正确位置吗?
  2.   

NuGet应该是获取库类型定义的正确位置,如果您有任何问题,可以打开一个关于它的新线程。我们需要分析为什么NuGet不适合获取库的类型定义的具体原因。

  
      
  1. 为什么我没有.jsproj文件?
  2.   

.jsproj用于项目类型" Blank App (Apache Cordova)"。当您创建空白应用程序(Apache Cordova)项目时:File-> New-> Project ...-> TypeScript。你会发现项目文件应该是.jsproj。

你在一个帖子中有太多问题,我建议你可以在一个帖子中提出一个问题。

希望这有帮助。