模块
小于 1 分钟javascript
两个标准
常见的两个模块标准:CommonJS 和 Ecmascript 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'
