将最新版本的 TypeScript 定义与较旧的 JavaScript 库一起使用

     2023-05-08     193

关键词:

【中文标题】将最新版本的 TypeScript 定义与较旧的 JavaScript 库一起使用【英文标题】:Using latest version of TypeScript Definition with older JavaScript libraries 【发布时间】: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+ 的类型定义

【问题讨论】:

【参考方案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.ts 的commit history 并找到它从1.3 切换到1.4 之前的最后一个定义文件。了解 Angular 1.4 的发布时间会有所帮助。

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

【讨论】:

【参考方案2】:

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

    使用添加所需的tsd 依赖项

    tsd install angular --save

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

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

    ref 属性更新为所需的angular type definition 版本。在您的情况下,很可能应该是1.3.0

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

【讨论】:

【参考方案3】:

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

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

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

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

【讨论】:

支持较旧的 iOS 版本

】支持较旧的iOS版本【英文标题】:SupportingolderiOSVersions【发布时间】:2011-05-1522:51:45【问题描述】:是否有任何优雅的方法可以“切断”对旧iOS操作系统版本的支持?当我第一次发布我的应用程序时,当前的iOS版本在3.x范围内... 查看详情

安装较旧的角度版本 5?

】安装较旧的角度版本5?【英文标题】:installingolderangularversion5?【发布时间】:2018-12-1804:36:44【问题描述】:我正在处理Angular5中的个人项目。由于某种原因,我更换了设备,由于有新版本可用,我如何在新设备中安装Angular5,... 查看详情

如何下载较旧的 google play 服务?

...or/androidstudio0.4.0。要求之一是将项目google-play-services_lib的版本低于/等于emulator级别。我的模拟器适用于apilv 查看详情

如何在较新的 Qt 和 QtCreator 中安装和调试较旧的 Qt 版本?

】如何在较新的Qt和QtCreator中安装和调试较旧的Qt版本?【英文标题】:HowtoinstallanddebugolderQtversionsinnewerQtandQtCreator?【发布时间】:2020-10-0819:33:10【问题描述】:当我从Qt5.6更新到5.12时,我不得不将我正在工作的项目之一恢复到Qt... 查看详情

安装较旧的gem版本

Installanolderversionofagem.sudogeminstallrails--version1.2.6 查看详情

如何使用 2010 \ 2011 sdk 编译较旧的 3dsmax 版本?

】如何使用2010\\\\2011sdk编译较旧的3dsmax版本?【英文标题】:Howtocompileforolder3dsmaxversionswith2010\\2011sdk?如何使用2010\\2011sdk编译较旧的3dsmax版本?【发布时间】:2011-05-2406:04:52【问题描述】:我正在开发一个插件,之前我看到只需... 查看详情

将使用 pip 安装的站点包/模块从较旧版本的 python 迁移到较新/最新版本的 python

...使用pip安装的站点包/模块从较旧版本的python迁移到较新/最新版本的python【英文标题】:Migratesite-packages/modulesinstalledwithpipfromoldertonewer/latestversionofpython【发布时间】:2020-11-0303:26:06【问题描述】:一开始,我将安装在/../python3.7/s... 查看详情

即使使用较旧的 spark 版本,也没有名为“pyspark.streaming.kafka”的模块

】即使使用较旧的spark版本,也没有名为“pyspark.streaming.kafka”的模块【英文标题】:Nomodulenamed\'pyspark.streaming.kafka\'evenwitholdersparkversion【发布时间】:2020-11-1303:10:54【问题描述】:在另一个类似的question中,他们暗示“安装较旧... 查看详情

在 CentOS 8 中安装较旧的 gcc/g++ 版本

】在CentOS8中安装较旧的gcc/g++版本【英文标题】:Installoldergcc/g++versionsinCentOS8【发布时间】:2020-07-0318:54:47【问题描述】:在过去的2小时里,我一直在为此苦苦挣扎。在CentOS8中,我找不到devtoolset软件包来安装较旧的gcc/g++版本。... 查看详情

使用较旧的 generator-angular-fullstack 版本

】使用较旧的generator-angular-fullstack版本【英文标题】:Useanoldergenerator-angular-fullstackversion【发布时间】:2016-03-2816:23:54【问题描述】:我想用generator-angular-fullstack生成一个项目,但我不想使用ECMAScript6。你知道如何降级生成器吗... 查看详情

是否可以将 VS2008 配置为使用较旧的 VC++ 编译器进行构建?

...入、更改控制等(此外,我们还可以使用以前的VisualStudio版本回到版本6)。我 查看详情

如何在现有较旧的 android 项目中使用最新 API 添加 Google Map?

】如何在现有较旧的android项目中使用最新API添加GoogleMap?【英文标题】:HowtoaddGoogleMapinusinglatestAPIinanexistingolderandroidproject?【发布时间】:2019-02-2722:56:30【问题描述】:我有一个旧的Android项目,我在其中使用了LocationAPI和Google地... 查看详情

Intellisense 更喜欢 Visual Studio 2017 中最旧的 TypeScript 版本

】Intellisense更喜欢VisualStudio2017中最旧的TypeScript版本【英文标题】:IntellisenseprefersoldestTypeScriptversioninVisualStudio2017【发布时间】:2018-03-1405:36:15【问题描述】:我对VisualStudio2017中的Intellisense有疑问。我已经安装了最新版本的TypeSc... 查看详情

哪个 CUDA Toolkit 版本适用于较旧的 NVIDIA 驱动程序

】哪个CUDAToolkit版本适用于较旧的NVIDIA驱动程序【英文标题】:WhichCUDAToolkitversionforolderNVIDIADriver【发布时间】:2015-05-2806:57:32【问题描述】:我获得了一张较旧的NVIDIA显卡(GeForce8400GS),以开始探索一些GPU计算。我试图成功完成安... 查看详情

在 iOS 10 中创建本地通知的方法是啥。它在较旧的iOS版本中有效吗? [关闭]

】在iOS10中创建本地通知的方法是啥。它在较旧的iOS版本中有效吗?[关闭]【英文标题】:whatisthewaytocreatelocalnotificationiniOS10.doesitworkinolderiOSversion?[closed]在iOS10中创建本地通知的方法是什么。它在较旧的iOS版本中有效吗?[关闭]【... 查看详情

在较旧的 Postgres (9.4) 上使用 Django 3+

...据库)是更好的建议,但就短期而言,我更喜欢使用这些版本(即使Django3放弃了 查看详情

如何在 Ubuntu 18 上安装较旧的 Docker 版本(18.06.2)?

】如何在Ubuntu18上安装较旧的Docker版本(18.06.2)?【英文标题】:HowtoinstallolderDockerversion(18.06.2)onUbuntu18?【发布时间】:2020-02-2905:28:49【问题描述】:我已经尝试安装Kubernetes好几天了,但它已经从Docker开始了。我似乎在Ubuntu上找... 查看详情

无法在 xCode 12 上以编程方式为较旧的 iOS 版本创建应用程序

】无法在xCode12上以编程方式为较旧的iOS版本创建应用程序【英文标题】:can\'tcreateanappprogrammaticallyforolderiOSversionsonxCode12【发布时间】:2021-11-2616:04:36【问题描述】:我无法在Xcode12上以编程方式为较旧的iOS版本创建应用程序。App... 查看详情