聊聊Node两种模块规范:CJS与ESM,有什么不同点?

Node两种模块规范:CJS 与 ESM

网站建设哪家好,找创新互联建站!专注于网页设计、网站建设、微信开发、微信小程序定制开发、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了大峪免费建站欢迎大家使用!

Node.js 提供了两种模块系统:CommonJS(CJS)和 ECMAScript 模块(ESM),这两种模块规范在语法、加载方式和使用场景上有一些不同。

CommonJS(CJS)

CommonJS 是一种服务器端模块的规范,被广泛用于 Node.js,它的主要特性如下:

使用 require 函数来导入模块。

使用 module.exportsexports 来导出模块。

模块加载是同步的,即阻塞式的。

适用于 Node.js 环境。

下面是一个简单的 CJS 示例:

// 导入模块
const math = require('mathmodule');
// 使用模块
console.log(math.add(1, 2));

ECMAScript 模块(ESM)

ECMAScript 模块是一种新的 JavaScript 模块系统,遵循 ES6 标准,它的主要特性如下:

使用 import 语句来导入模块。

使用 export 语句来导出模块。

支持异步加载,即非阻塞式的。

适用于现代浏览器和 Node.js 环境。

下面是一个简单的 ESM 示例:

// 导入模块
import { add } from './mathmodule.js';
// 使用模块
console.log(add(1, 2));

CJS 与 ESM 的不同点

下面是一个表格,归纳了 CJS 和 ESM 之间的主要区别:

特性 CommonJS(CJS) ECMAScript 模块(ESM)
导入方式 require 函数 import 语句
导出方式 module.exportsexports export 语句
加载方式 同步(阻塞式) 异步(非阻塞式)
使用场景 主要用于 Node.js 环境 适用于现代浏览器和 Node.js 环境
代码示例 const math = require('mathmodule'); import { add } from './mathmodule.js';

上文归纳

CommonJS(CJS)和 ECMAScript 模块(ESM)是 Node.js 提供的两种不同的模块系统,CJS 适用于 Node.js 环境,而 ESM 更适用于现代浏览器和 Node.js 环境,在选择使用哪种模块规范时,需要根据项目的需求和目标环境来决定。

文章题目:聊聊Node两种模块规范:CJS与ESM,有什么不同点?
标题URL:http://www.shufengxianlan.com/qtweb/news11/1711.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联