前言
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 中最流行的包管理工具是 Velociraptor 和 Deno 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