Typings 与 @types NPM 范围

Posted

技术标签:

【中文标题】Typings 与 @types NPM 范围【英文标题】:typings vs @types NPM scope 【发布时间】:2017-01-08 17:29:08 【问题描述】:

在某些情况下,typings 用于处理 TypeScript 定义(例如 angular/angular2-seed)。

在其他情况下,使用范围内的 NPM @types 包而不涉及 typings(例如 AngularClass/angular2-webpack-starter)。

它们之间的实际区别是什么?其中一个是否为 TypeScript 开发提供了另一个没有的好处?

【问题讨论】:

【参考方案1】:

@types 是在 typescript 2.0 中安装定义的新方法。 它统一了定义和包的管理。这样您就不需要多个工具和配置文件。只需要 npm 和 package.json 而不必拥有 npm、package.json、typings、typings.json。它基本上使安装和管理定义更容易,但它与打字相同。

您可以在此处阅读更多信息:https://blogs.msdn.microsoft.com/typescript/2016/06/15/the-future-of-declaration-files/

【讨论】:

很好的答案!我还有一个问题:Ap perdefiniteTyped,如果要使用类型声明,那么应该在文件前面放一行/// <reference path="jquery/jquery.d.ts" />,以便我们可以导入它。但是从 msdn 博客中,不再需要这条参考线了。那么我们真的需要这一行来使用类型声明吗? @zgcharley 不在 2.x 中。绝对打字says nothing like that.TS 是微软的创意,他们知道他们在说什么。

以上是关于Typings 与 @types NPM 范围的主要内容,如果未能解决你的问题,请参考以下文章

VS Code nodejs智能补全typings

使用 @types/angular 作为全局

如何在 Visual Studio 2015 中为 Typescript 的 typings.json 添加类型?

应该打字吗?如果不是,如何在不破坏用户的情况下在 npm install 上触发类型安装?

npm @types 包的类型 globalDevDependencies 的等价性是啥?

如何在TypeScript中使用第三方JavaScript框架