【问题标题】:Using latest version of TypeScript Definition with older JavaScript libraries将最新版本的 TypeScript 定义与较旧的 JavaScript 库一起使用
【发布时间】:2015-10-21 14:04:30
【问题描述】:

我正在使用旧版本的 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+ 的类型定义

【问题讨论】:

    标签: javascript angularjs typescript nuget


    【解决方案1】:

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

    tsd query angular -v all
    

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

    不过还是有问题。出于某种原因,似乎只有两个其他版本的 angular 可用:

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

    出于这个原因,我建议查看angular.d.tscommit history 并找到它从1.3 切换到1.4 之前的最后一个定义文件。了解 Angular 1.4 的发布时间会有所帮助。

    通过这样做,您将找到 1.3 的 this definition file

    【讨论】:

      【解决方案2】:

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

      1. 使用添加所需的tsd 依赖项

        tsd install angular --save

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

         {
           "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以下载所需的类型定义

      【讨论】:

        【解决方案3】:

        我所做的有点像走很长的路,并不完全是你的场景,但它对我有用,希望像我这种情况的人能来到这里......

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

        然后将tsd.json 中的“commit”哈希替换为描述中列出的 git commit:

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

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2018-09-10
          • 2012-07-29
          • 2023-03-31
          • 2018-04-09
          • 2021-06-06
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多