electronjs.org/blog/typesc… 2017.6.1
译者概要:本文介绍了ts的优势,以及说明了electron对ts的支持态度。以及一些相关的学习资源地址,适用于ts+electron扫盲~
现在的Electron npm包中包含了一个TypeScript声明文件,其中详细注释了所有的Electron API。这些注释可以提升你的Electron编程体验,即使你是通过纯天然的原生JS来写的。快通过npm install electron
下载最新Electron来开始你的编程吧!
ts是微软发明的一个开源的编程语言。它是js的超集,通过新增对静态类型的支持扩展了js。近年来ts社区增长飞快,在最近的stack overflow开发者调查中标名ts是最受欢迎的语言。ts被描述为“js的扩展”,各大社区的团队都在用ts来写高扩展性的、被广泛使用的Electron应用程序。
ts支持许多在js中的新特性,例如类、对象解构、async/await,但它真正的不同点是类型注解(type annotations)。声明输入输出的期望数据类型可以帮你在编译期发现问题,从而找出bug,同时这些注解可以作为程序运行的说明。 在使用原生js开发库时,类型常常在文档中被模糊地定义为“事后”确定(在使用时才确定)。函数经常可以接受很多文档中没有注明的类型,或者一个函数会有一些文档中没有提及的约束,这些都可能导致运行时错误。
ts通过声明文件解决了这些问题。声明文件描述了一个库中的所有函数及其期望的输入输出类型。当库作者将声明文件打包到他们发布的库中时,使用者就可以直接在他们的编辑器中查看并使用API,而不需要查阅API文档了。
许多流行的库,例如Angular,vuejs,node-github(和现在的electron)都编译了他们自己的声明文件并将其打包到发布的npm包中,而对于那些没有将声明文件打包的项目,可以使用DefinitelyTyped,这是一个社区维护的第三方生态。
下载
从1.6.10版本开始Electron都包含了自己的ts声明文件。当你从npm下载electron时,electron.d.ts
会自动打包在下载好的包中。
安装electron的安全的方式是指定版本号
npm install electron --save-dev --save-exact
yarn add electron --dev --exact
如果你已经安装了第三方的定义文件例如来自@types/electron和@types/node,你应该删除它们以防止冲突。
定义文件衍生自我们的结构化API文档,所以它总是与Electron的官方文档保持一致。只需要安装electron,你就会得到与electron版本一致的ts声明文件。
使用
以下视频总结了如何安装和使用electron的ts声明
electronjs.org/blog/typesc… 视频从原文中观看
如果你使用的是vs code,那么已经有内嵌的ts支持了,对于别的IDE也有社区维护的相关支持。
一旦你的编辑器配置了ts,你就会开始看到一些更加智能化的提示例如自动补全建议,内嵌方法参考,语法检查,等等。