使用最新版本的TypeScript Definition和较旧的JavaScript库

时间:2015-07-30 09:28:07

标签: javascript angularjs typescript nuget

我使用的是旧版AngularJS - v1.3。寻找相应的类型脚本定义文件。

  

最新的类型脚本定义是否与旧库兼容   版本

https://www.nuget.org/packages/angularjs.TypeScript.DefinitelyTyped/

很难找到Angular JS类型脚本定义文件版本和版本之间的映射。 Angular JS库版本。我们可以继续使用最新版本的打字稿定义。

编辑:我必须比较两个nuget存储库&采用了一个版本,其中angular.d.ts注释从// Angular JS 1.3+的类型定义更改为// Angular JS 1.4 +的类型定义

3 个答案:

答案 0 :(得分:3)

通常您可以搜索以前的版本'通过使用tsd运行以下命令来定义:

tsd query angular -v all

然后安装所需的特定版本(例如tsd install angular -v 1.0.0)。

但是有一个问题。出于某种原因,似乎只有两个其他版本的角可用:

- angularjs / angular
- angularjs / angular-v1.0.0
- angularjs / angular-v1.2.0

出于这个原因,我建议您查看angular.d.ts的{​​{3}},并在从1.3切换到1.4之前找到最后一个定义文件。知道Angular 1.4何时发布有助于。

通过这样做,您会发现commit history代表1.3。

答案 1 :(得分:2)

使用ref属性指定确切的类型定义文件版本,该版本对应于git上的分支。在您的情况下,您可以使用以下步骤。

  1. 使用

    添加所需的tsd依赖项

    tsd install angular --save

  2. 保存步骤将创建一个结构如下的tsd.json文件:

  3.    {
         "version": "v4",
         "repo": "borisyankov/DefinitelyTyped",
         "ref": "master",
         "path": "typings",
         "bundle": "typings/tsd.d.ts",
         "installed": {
             "angularjs/angular.d.ts": {
                "commit": "77ec1408257c677f8fd8d6798ebaf6bd87c11b9d"
             }
         }
    }

    1. ref属性更新为所需的angular type definition版本。在您的情况下,最有可能是1.3.0

    2. 再次运行tsd install以下载所需的类型定义

答案 2 :(得分:0)

我所做的有点像走很远的路,并不完全是你的情景,但它对我有用,希望我的情况下的人会降落在这里......

在我的场景中,我正在将NuGet作为打字稿定义管理器并将其替换为tsd,我需要一个特定版本的lodash typescript定义(0.4.1),但tsd正在安装最新版本。由于bower方式的版本控制在安装时尚未得到支持,tsd使用提交哈希来跟踪你所使用的版本,我使用nuget找到我想要的版本:

NuGet Package Manager in Visual Studio

然后替换了" commit"使用描述中列出的git提交在tsd.json中进行哈希:

tsd.json file

这有点痛苦,因为我必须手动输入哈希值,但它确保我拥有我需要的版本。