Deno 是一个新兴的 JavaScript 和 TypeScript 运行时环境,它的目标是提供一种安全、稳定以及可靠的运行时环境。Deno 通过内置的权限控制和安全性保护,比现有的其他运行时环境更加安全。
同时,在 Deno 中使用 TypeScipt 可以带来更好的开发体验和更可靠的代码。TypeScript 是一种静态类型检查的 JavaScript 运行环境,允许开发者在代码编写过程中检查和透明地使用类型。
本文将介绍如何在 Deno 中使用 TypeScript 进行开发,并提供示例代码、深入细节和最佳实践。
安装 Deno 和 TypeScript
在开始开发之前,我们需要先安装 Deno 和 TypeScript。
Deno 支持 Windows、macOS、Linux 等多个平台,可以从官方网站 https://deno.land/ 下载对应的安装包安装。
TypeScript 可以通过 npm 安装:
npm install -g typescript
初始化 Deno 项目
在命令行中通过以下命令创建一个 Deno 项目:
deno --init --allow-read --allow-net --import-map=import_map.json
这条命令会生成一个 main.ts
文件和一个 import_map.json
文件。同时给了 --allow-read
、--allow-net
两个权限,允许程序读取文件和进行网络请求。
在 import_map.json
文件中,你可以定义你的依赖,并且可以更改他们的名称。这使得你可以在代码中使用你自己的自定义名称代替实际的源,例如:
{ "imports": { "lodash": "https://cdn.jsdelivr.net/npm/lodash@4.17.15/lodash.js" } }
使用 TypeScript
在 Deno 中使用 TypeScript 非常简单,只需要将文件扩展名更改为 .ts
即可:
mv main.ts main.tsx
如果你使用了任何的 Deno 特定 API,例如 Deno.readFileSync
,你需要将以下引入附加到你的代码顶部:
import { readFileSync } from "https://deno.land/std/fs/mod.ts";
如果你需要某些库,你可以像 Node.js 一样从 npm 安装它们:
npm install --save @types/lodash
在你应用的任何地方,你都可以使用这些第三方库,就像这样:
import * as _ from "lodash"; console.log(_.capitalize("hello world"));
最佳实践
使用 VSCode
Deno 和 TypeScript 与 VSCode 配合使用时可以带来各种方便的特性。例如,你可以安装 Deno 和 TypeScript 扩展,这将带来更好的代码补全和 Lint 支持。
编写可测试代码
Deno 和 TypeScript 的一个优点是可以编写可测试的代码。为了实现测试,你应该把重要的逻辑和有状态的代码封装在类中,并且通过依赖注入来避免编写不可测试的代码。
例如,在下面的代码中,我们定义了一个 Person
类,它有一个方法 greet
,该方法可以接收 ageGetter
作为依赖注入,以使我们可以在测试时获得可预测的结果:
-- -------------------- ---- ------- ----- ------ - ------------------- ----- ------- -- ---------------- -- -- ------- - ----- --- - ------------ ------ ------- -- ---- -- ------------ --- - -- ------ ----- ------ - - ----- ---- - --- --------------- ----- ------ - ------------- -- ---- --------------------
将工具封装到模块中
在 Deno 中,你可以通过导入位于本地磁盘上的模块来加载本地工具。但是,在实际的开发中,最好将这些工具封装到模块中,并将其发布到 CDN 或共享文件系统中。
这将使开发人员可以轻松使用您的工具,并减少了维护工具时的依赖关系。
例如,在下面的代码中,我们定义了一个名为 stringUtils
的工具模块,该模块包含了一些实用函数:
-- -------------------- ---- ------- -- -------------- ------ ----- ---------- - ----- ------- -- - ------ --------------------------- - ------------- -- ------ ----- --------- - ----- ------- -- - ------ ------------------ -- ------ ----- --------- - ----- ------- -- - ------ ------------------ --
在其他文件中,我们可以像这样使用这些函数:
// app.ts import { capitalize } from "./stringUtils.ts"; console.log(capitalize("hello world"));
使用 Deno 标准库
Deno 附带了一些标准库,它们提供了与网络、文件系统等等常用功能的 API。为了使用这些库,你需要将以下引入附加到你的代码顶部:
import { readFileSync } from "https://deno.land/std/fs/mod.ts";
一些常用的标准库有 fs
、http
、log
、testing
等。
结论
本文介绍了如何在 Deno 中使用 TypeScript 进行优秀的开发、最佳实践及示例代码。Deno 的目标是提供一个安全、稳定的运行时环境,而 TypeScript 则提供了类型检查的高效开发体验。他们一起组成了一个非常具有生产力的开发环境,非常适合于构建可靠的应用程序。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/672c4e93ddd3a70eb6d74c1a