Deno 中如何使用第三方库

阅读时长 4 分钟读完

在 Deno 中,使用第三方库可以极大地增加我们项目的生产力和代码质量。但是,与 Node.js 不同,Deno 不支持 npm 这样的包管理器。那么,我们应该如何使用第三方库呢?

使用 URL 导入模块

Deno 支持使用 URL 导入模块(也称为 ES 模块),类似于前端的使用方式。我们可以在代码中使用 import 关键字,指定第三方模块的 URL。例如,我们想使用第三方库 https://deno.land/std/http/server.ts 中的 serve 函数:

在这个示例中,我们通过 import 导入第三方库中的 serve 函数,并成功启动一个 HTTP 服务。

缓存和检查

默认情况下,Deno 会在第一次运行时缓存所有导入的模块。当我们再次运行这段代码时,Deno 会使用缓存中的版本,而不会再次下载。如果您希望强制下载和重新编译模块,可以使用以下命令:

此外,您也可以使用以下命令检查导入的模块是否有变化:

该命令会检查导入的模块是否与锁定文件中的版本相同,如果不同,则会提示更新锁定文件。

使用本地文件系统

除了从 URL 导入模块外,我们还可以使用本地文件系统中的文件。例如,我们可以将 serve 函数保存为本地文件 server.ts,然后从 main.ts 中导入:

需要注意的是,如果您的代码中导入了本地文件系统中的文件,Deno 需要通过设置权限来启用文件访问。可以通过以下命令来运行程序:

在本例中,我们通过 --allow-read 参数允许程序访问本地文件系统。如果您的代码中还涉及到网络访问,也需要设置 --allow-net 参数。

使用 TypeScript 定义文件

由于 Deno 是一个使用 TypeScript 编写的运行时,因此它天然支持使用 TypeScript 定义文件(.d.ts)来描述第三方库中的类型和接口。这样做不仅可以提高代码的可读性,还可以增强编辑器的智能提示和自动完成功能。

例如,如果您使用 https://deno.land/std/http/server.ts 中的 serve 函数,则可以从 https://deno.land/std/http/server.d.ts 中导入类型定义:

-- -------------------- ---- -------
------ - ------------- - ---- ---------------------------------------

------ ----- -------- ----------- ------ - - ----- ------ --- ------------- -
  ----- - - ----------------
  --- ----- ------ --- -- -- -
    ----- -------------
  -
-

----- -------- ------------ -------------- -
  -----
-

在这个示例中,我们从 server.d.ts 中导入了 ServerRequest 类型,以便在 handler 函数中使用。

总结

通过上述介绍,您应该已经掌握了在 Deno 中如何使用第三方库的方法。总的来说,Deno 拥有一个简单、直接的导入系统,能够与浏览器的现代标准愉快地玩耍。

来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/64604efb968c7c53b0207ae3

纠错
反馈