TS 代码提示Typings 和 @types
一、Typings是作为TSD的替代者而出现的
image.png现在 TypeScript 的 .d.ts 管理已经全面转向 Typings(GitHub - typings/typings: The TypeScript Definition Manager),后者具有更好的版本控制、平台管理、Registry 管理 支持(其实与其说 Typings 多好,不如说 tsd 完全是翔)。
二、Typings示例
参考
使用typings让VSCode拓展代码提示
Typings实现智能
VSCode自带ES语法的提示,但这很难满足我们的基本开发需求,比如说用个jQuery,它就不支持jQuery函数的提示。所以这时我们得依赖一些第三方的插件,这里介绍的是typings这个包;首先我们先安装这个包:cnpm i typings -g
(PS:cnpm + 简写就是那么的sao~)
通过上面的命令,typings这个包就下载下来了,然后我们到开发目录,打开命令窗口,输入:typings init
.这时当前目录下会出现一个typings.json的文件,这个文件就是typing的配置文件(安装过的typings包),一般用于团队开发使用,类似npm的package.json.这时我们输入以下命令,安装jQuery的提示文件:typings install dt~jquery --global--save
(–global:代表全局文件,有些包必须得加上这个参数才行)
(–save :表示将此次的安装信息记录到上面讲的typings.json中)
这时当前目录会出现一个名为typings的目录,此目录下便是一些提示文件:
我们再回看typings.json文件:
image.png
这时很多人以为大功告成了,然而重启VSCode后还是没有提示,这是因为他们没有在当前目录下新建一个jsconfig.json空文件,具体参考JavaScript in VS Code,这一步至关重要;当新建完此文件后,重启VSCode就可以获得代码提示了.
三、Typings其它问题
1.ambient这种写法已经过期
E:\node\ts-node-starter> typings install node --ambient --save
typings ERR! deprecated The "ambient" flag
is deprecated. Please use "global" instead
E:\node\ts-node-starter> typings install node --global --save
四、@types
参考在 Typescript 2.0 中使用 @types 类型定义
使用Typescript开发node.js项目——简单的环境配置
在 Typescript 2.0 之后,TypeScript 将会默认的查看 ./node_modules/@types 文件夹,自动从这里来获取模块的类型定义,当然了,你需要独立安装这个类型定义。比如,你希望 core.js 的类型定义,那么,你需要安装这个库的定义库。
npm install --save @types/core-js
与我们安装一个普通的库没有区别。当然了,常用的 jquery 也有。Microsoft 在 The Future of Declaration Files 介绍了 TypeScript 的这个新特性。
在项目目录下执行安装:npm install --save-dev @types/node
就可以获得有关node.js v6.x的API的类型说明文件。之后,就可以顺利的导入需要的模块了:import * as http from 'http';
完成之后,不仅可以正常的使用http模块中的方法,也可以在vscode中获得相应的代码提示。
对于内建模块,安装一个@types/node模块可以整体解决模块的声明文件问题。那么,对于浩如烟海的第三方模块,该怎么办呢?官方和社区中也提供了查找和安装的渠道: