Nodejs 中 ES Modules 入门使用讲解

大哥大姐,请教一下,Nodejs 中 ES Modules 入门使用讲解
最新回答
欲往

2025-02-25 01:16:39

在Node.js v12.17.0 LTS版本发布时,ES Modules功能已默认支持,但该功能仍处于实验阶段(Stability: 1 - Experimental)。在生产环境中使用时需谨慎,若在测试环境,建议安装最新版本的Node.js,如v12.17.0进行尝试。

删除了--experimental-modules标志,是向ESM稳定性迈进的重要一步。根据Node.js官方说明,有望在今年下半年(10月左右)彻底删除Node 12中的警告信息。届时,Node 14将成为LTS版本。

ES Modules的使用方式主要通过声明.mjs后缀的文件或在package.json中指定type为module。下面分别讲解两种使用方式。

**方式一**:创建目录结构,修改package.json文件将type设置为module。执行命令构建环境,运行代码时仍会触发实验警告信息(与v14.3.0不同)。

**方式二**:通过指定文件扩展名为.mjs来区分与CommonJS模块,无需在package.json中指定type为module。在上述例子基础上修改文件扩展名即可。

**模块导入导出**:
- **export导出**:用于输出模块,可导出常量、函数、文件等,相当于定义对外接口。有多种导出方式。
- **import导入**:用于导入另一个模块导出的绑定,有三种导入方式。
- **import的动态导入**:像调用函数一样动态导入模块,返回Promise。但需要Top-Level await支持。了解Top-Level await的相关信息,可查看文章:Node.js v14.3.0发布支持顶级Await和REPL增强功能。

**实例**:
假设有一个导出模块my-module.js,在index.js中使用动态导入进行加载。

总结:Node.js v12.17.0 LTS版本发布后,ES Modules功能默认支持,删除了--experimental-modules标志。本文对Node.js中ES Modules的入门使用进行了讲解,未来会进行更深入的研究分享。希望读者能有所收获。

作者简介:五月君,软件设计师,慕课网认证作者,热爱技术、喜欢分享的90后青年。欢迎关注GitHub开源项目:
https://www.nodejs.red