Node.js 如何使用 ES6 的模块功能

Node.js 要求 ES6 模块采用.mjs 作为后缀。只有.mjs后缀的文件可以使用import或者export命令。


如果不希望将后缀名改成.mjs,可以在项目的package.json文件中,指定type字段为module。

{
   "type": "module"
}


这时还要使用 CommonJS 模块,那么需要将 CommonJS 脚本的后缀名都改成.cjs。


ES6 模块与 CommonJS 模块尽量不要混用。require()命令不能直接加载 ES6 模块,因为它是同步加载。

ES6 模块的import命令可以加载 CommonJS 模块,但是只能整体加载,不能只加载单一的输出项。

// 正确
import packageMain from 'commonjs-package';
// 报错
import { method } from 'commonjs-package';


加载单一的输出项,可以写成下面这样。

import packageMain from 'commonjs-package';
const { method } = packageMain;


真诚赞赏,手留余香
赞赏
随机推荐
Windows系统下Apache性能优化,提高并发 mod_mpm
DDOS 专题
HTTP 消息头 Content-Disposition
Photoshop 智能对象 学习笔记
跨域简单请求变成非简单请求导致的Bug
Mac下用命令行压缩和解压rar文件的方法
javascript加载顺序LABjs
Fatal error:Call-time pass-by-reference has been removed
升级macOS mojove后,sequel pro退出异常,使用Xcode重新编译sequel
PHP把时间转换成几分钟前、几小时前、几天前