前言
Deno 是一款 JavaScript 和 TypeScript 运行时,其由 Node.js 的创始人 Ryan Dahl 开发,具有一些特殊的功能和安全特性。本文将介绍 Deno 中对 CommonJS 模块的支持以及如何使用它。
CommonJS 模块
CommonJS 是 Node.js 的模块化规范,该规范定制了一套模块加载机制和模块定义方式,其采用了 require() 和 module.exports 来完成模块化设计。在 Node.js 中,我们可以直接使用 CommonJS 模块进行开发。
但是,Deno 中是没有内置的 CommonJS 模块机制的。所以,在 Deno 中使用 CommonJS 模块需要我们手动实现。
在 Deno 中支持 CommonJS 模块
在 Deno 中,我们可以使用第三方模块库 Denoify 来实现对 CommonJS 模块的支持。
Denoify 可以把 CommonJS 模块转换成 ES 模块,以便让 Deno 能够加载它们。它可以动态地分析模块的依赖关系并转换对应的文件,使得 CommonJS 模块能够在 Deno 环境下正常运行。
安装 Denoify:
$ deno install --unstable --allow-read --allow-write --allow-net https://deno.land/x/denoify/mod.ts
使用 Denoify:
$ denoify your-script.js
使用 Denoify 还需要注意一些问题,具体详见其文档说明。
示例代码
下面是一个使用 Denoify 支持 CommonJS 模块的简单示例:
import { add } from './math.js'; console.log(add(1, 2));
math.js:
exports.add = (a, b) => { return a + b; };
使用 Denoify 命令:
$ denoify main.js
执行结果:
$ deno run main.js 3
总结
Deno 虽然没有内置对 CommonJS 模块的支持,但是可以通过第三方模块库 Denoify 来实现对此的支持。通过本文的介绍,我们应该能够掌握如何在 Deno 中使用 CommonJS 模块了。
来源:JavaScript中文网 ,转载请注明来源 https://www.javascriptcn.com/post/659fbc61add4f0e0ff841117