使用 TypeScript 的 Node.js
找出为什么 TypeScript 是一个很棒的工具,并自己学习使用它。
什么是 TypeScript
TypeScript 是由微软维护和开发的一种流行的开源语言。 它受到全世界许多软件开发者的喜爱和使用。
基本上,它是 JavaScript 的超集,为该语言添加了新功能。 最值得注意的新增内容是静态类型定义,这在纯 JavaScript 中是不存在的。 多亏了类型,例如,可以声明我们期望什么样的参数以及在我们的函数中准确返回什么,或者我们正在创建的对象的确切形状是什么。 TypeScript 是一个非常强大的工具,它为 JavaScript 项目打开了一个充满可能性的新世界。 它通过在代码交付之前防止许多错误,使我们的代码更加安全和健壮 - 它在代码开发过程中发现问题,并与 Visual Studio Code 等代码编辑器完美集成。
我们可以稍后再讨论 TypeScript 的其他好处,现在让我们看一些示例!
示例
看看这个代码片段,然后我们可以一起解包它:
第一部分(使用 type
关键字)负责声明代表用户的自定义对象类型。 稍后我们利用这个新创建的类型来创建函数 isAdult
,它接受一个 User
类型的参数并返回 boolean
。 在此之后,我们创建 justine
,我们的示例数据可用于调用先前定义的函数。 最后,我们创建一个新变量,其中包含有关 justine
是否成人的信息。
你还应该了解有关此示例的其他信息。 首先,如果我们不遵守声明的类型,TypeScript 会警告我们有问题并防止误用。 其次,并非所有内容都必须显式键入 - TypeScript 非常智能,可以为我们推断类型。 例如,变量 isJustineAnAdult
将是 boolean
类型,即使我们没有明确键入它,或者 justine
将是我们函数的有效参数,即使我们没有将此变量声明为 User
类型。
好的,我们有一些 TypeScript 代码。 现在我们如何运行它?
首先要做的是在我们的项目中安装 TypeScript:
现在我们可以在终端中使用 tsc
命令将其编译为 JavaScript。 我们开始做吧!
假设我们的文件名为 example.ts
,命令如下所示:
这里的 npx 是 Node Package Execute 的缩写。 这个工具允许我们运行 TypeScript 的编译器而无需全局安装它。
tsc
是 TypeScript 编译器,它将获取我们的 TypeScript 代码并将其编译为 JavaScript。
此命令将生成一个名为 example.js
的新文件,我们可以使用 Node.js 运行该文件。
现在,当我们知道如何编译和运行 TypeScript 代码时,让我们看看 TypeScript 的错误预防功能如何发挥作用!
这是我们将如何修改代码:
这是 TypeScript 必须要提示的:
如你所见,TypeScript 成功地阻止了我们交付可能会意外运行的代码。 那好极了!
更多关于 TypeScript
TypeScript 提供了很多其他很棒的机制,比如接口、类、工具类型等等。 此外,在更大的项目中,你可以在单独的文件中声明你的 TypeScript 编译器配置,并精细地调整它的工作方式、它的严格程度以及它存储编译文件的位置。 你可以在 官方 TypeScript 文档 中阅读更多关于所有这些很棒的东西。
TypeScript 的其他一些值得一提的好处是它可以渐进采用,它有助于使代码更具可读性和可理解性,并且它允许开发者在为旧 Node.js 版本交付代码时使用现代语言功能。
Node.js 世界中的 TypeScript
TypeScript 在 Node.js 世界中根深蒂固,并被许多公司、开源项目、工具和框架使用。 使用 TypeScript 的一些著名的开源项目示例是:
- NestJS - 强大且功能齐全的框架,使创建可扩展且架构良好的系统变得轻松愉快
- TypeORM - 很棒的 ORM 受到来自其他语言(如 Hibernate、Doctrine 或 Entity Framework)的其他知名工具的影响
- Prisma - 具有声明性数据模型、生成的迁移和完全类型安全的数据库查询的下一代 ORM
- RxJS - 广泛用于响应式编程的库
- AdonisJS - 使用 Node.js 的功能齐全的 Web 框架
- FoalTs - 优雅的 Nodejs 框架
还有很多很多很棒的项目...... 也许甚至是你的下一个!