如何在 Deno 中使用 NPM 模块

阅读时长 3 分钟读完

Deno 是一个新兴的 JavaScript 和 TypeScript 运行时环境,它与 Node.js 相比具有更高的安全性和更好的可读性。然而,由于其不同于 Node.js 的模块系统,Deno 的用户可能会发现它不支持 Node.js 中广泛使用的大量 NPM 模块,因此本文介绍如何在 Deno 中使用 NPM 模块。

安装第三方模块

Deno 要求模块必须是 ES 模块,因此如果要安装 NPM 模块,你需要找到一个已经转换为 ES 模块的版本。可以使用 Skypackesm.sh 这样的工具,在 Deno 中使用 import 导入第三方模块。

例如,如果要在 Deno 中使用 lodash 模块,则可以使用以下命令:

或者:

在这里,import 导入的是 Skypack 或 esm.sh 的服务,它们会将请求重定向到 NPM 上,但是将文件从 CommonJS 转换为 ES 模块。

使用本地依赖

如果你想在 Deno 中使用本地安装的 NPM 模块,你需要下载该模块并使用 Deno 提供的工具转换为 ES 模块。

首先,使用 NPM 或 Yarn 安装依赖:

然后,可以使用 dprint-plugin-typescript 工具将模块转换为 ES 模块。该工具可以使用以下命令安装:

接下来,在项目目录中创建一个名为 config.json 的文件,以指定如何格式化 TypeScript 文件:

然后,在命令行中使用以下命令格式化 lodash 模块:

最后,你可以在 Deno 项目中使用类似下面的代码导入本地安装的 lodash

需要注意的是,因为 lodash 是 CommonJS 模块,它会在导出对象时使用默认的 module.exports,因此要将其指定为 ES 模块,必须手动更改导出语句。

总结

在 Deno 中使用 NPM 模块可能需要一些转换操作,但是可以使用 Skypack 或 esm.sh 导入模块,也可以下载模块并将其转换为 ES 模块,这还需要使用 dprint-plugin-typescript 工具格式化 TypeScript 文件。希望本文能帮助你更好地在 Deno 中使用 NPM 模块。

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

纠错
反馈