如何在 Deno 中使用 NPM 包?

前言

Deno 是由 Ryan Dahl 创造并维护的一个基于 V8 引擎和 Rust 语言编写的运行时环境。与 Node.js 相比,Deno 提供了更好的安全性、更简单的依赖导入、更好的调试工具等优点,越来越受到前端开发者的欢迎。

但是,在 Deno 中使用 NPM 包并不是那么简单,本文将介绍如何在 Deno 中使用 NPM 包。

使用第三方模块系统

Deno 提供了一个第三方模块系统,其 URL 格式如下:

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

其中,xxx 表示包的导出名称,yyy 表示包的名称,zzz 表示包的版本号,xxx.js 表示包的入口文件。这个 URL 将从 NPM 的 CDN(https://cdn.jsdelivr.net/)中获取指定版本的模块。

例如,想要使用 Lodash 中的 groupBy 方法,可以使用以下代码:

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

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

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

这里需要注意的是,使用 @4.17.21-es 后缀,表示使用 Lodash 的 ES Module 版本(见 lodash@4.17.21-es)。

使用包管理工具

使用第三方模块系统的方式比较简单,但是如果需要同时使用多个不同版本的包,或者需要使用某些配置工具,就需要使用包管理工具了。目前,Deno 中最流行的包管理工具是 VelociraptorDeno Deploy

使用 Velociraptor

Velociraptor 是一个类似于 Makefile 的任务运行工具,其中可以定义各种脚本,包括使用 NPM 包。

首先,需要在项目根目录创建一个名为 velociraptor.yml 的 YAML 文件,并添加以下内容:

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

其中,start 是项目启动脚本,install 是用于安装 NPM 包的脚本,可以使用以下命令来安装 NPM 包:

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

这里的 vr 是 Velociraptor 命令行工具的简写,意思是使用 Velociraptor 来运行命令。

安装好包后,在代码中可以直接使用 Lodash 中的方法:

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

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

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

这里需要注意的是,使用 lodash-es 后缀,表示使用 Lodash 的 ES Module 版本。

使用 Deno Deploy

Deno Deploy 是一个服务器端运行时环境,类似于 Node.js 的服务器端运行时环境。同时,它还允许使用 NPM 包。

首先,在项目根目录下创建一个名为 deploy.yaml 的 YAML 文件,并添加以下内容:

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

其中,modules 字段用于指定需要使用的包,可以使用 latest 来指定最新版本,也可以使用具体的版本号。

在代码中,可以直接使用 Lodash 中的方法:

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

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

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

这里需要注意的是,使用 https://cdn.skypack.dev 来获取包,同时使用 lodash-es 后缀,表示使用 Lodash 的 ES Module 版本。

总结

本文介绍了如何在 Deno 中使用 NPM 包,包括使用第三方模块系统和使用包管理工具。对于和 Node.js 有类似经验的前端开发者来说,使用第三方模块系统可能更加容易理解和使用。对于希望享受更好的工具链、更好的安全性和更好的性能的开发者来说,使用 Velociraptor 或 Deno Deploy 可能更为适合。希望本文能够帮助到你学习和使用 Deno。

来源:JavaScript中文网 ,转载请注明来源 本文地址:https://www.javascriptcn.com/post/664df399d3423812e4de31cf