JavaScript 模块是现代 JavaScript 开发中组织和封装代码的核心机制。以下是模块系统的主要概念和用法:
模块是一个独立的 JavaScript 文件,包含特定的功能代码,可以导出(export)供其他模块使用,也可以导入(import)其他模块的功能。
// 批量导出 const a = 1; const b = 2; export { a, b };
// 导出时重命名 export { a as aliasName };
2. **默认导出** - 每个模块只能有一个默认导出
```javascript
export default function() {}
// 或
const obj = {};
export default obj;
导入命名导出
import { name, func } from './module.js';
import { a as alias } from './module.js';
导入默认导出
import defaultExport from './module.js';
混合导入
import defaultExport, { namedExport } from './module.js';
导入所有内容
import * as moduleNamespace from './module.js';
使用 import()
函数实现按需加载:
import('./module.js')
.then(module => {
// 使用模块
})
.catch(err => {
// 处理错误
});
// 或使用 async/await
async function loadModule() {
const module = await import('./module.js');
}
import/export
语法require/module.exports
<script type="module" src="main.js"></script>
<!-- 或 -->
<script type="module">
import { func } from './module.js';
func();
</script>
模块系统使得 JavaScript 代码更易于组织、维护和重用,是现代前端开发的基石。