跳至主要內容

模块

chanchaw小于 1 分钟javascript

两个标准

常见的两个模块标准:CommonJSEcmascript Module ,两者区别如下

名称来源时机支持
CommonJS社区运行时浏览器一般仅支持官方规范,所以不支持cjs,支持esm
Ecmascript Module官方编译时node环境、构建工具都支持两种模块化

CommonJS 的运行时识别模块体现如下,即可在运行过程中使用模块功能

let aa;
if(xxx) aa = require(./1.js);
else aa = require(./2.js);

Ecmascript Module 仅在编译时识别模块,即上面代码中在 if 语句里无法使用 import { aa } from './1.js'