在 JavaScript 中,export
、export default
和 module.exports
是三种不同的模块导出方式,分别属于 ES6 模块系统 和 CommonJS 模块系统。以下是它们的核心区别和用法对比:
一、语法规范对比
特性 | export / export default |
module.exports |
---|---|---|
模块系统 | ES6 Modules(ESM) | CommonJS(CJS) |
使用环境 | 现代浏览器、Node.js(需 .mjs 或 "type": "module" ) |
Node.js(默认)、旧版前端项目 |
静态/动态 | 静态(编译时解析) | 动态(运行时解析) |
二、具体用法与区别
1. ES6 的 export
(命名导出)
- 特点:一个模块可以导出多个值,必须使用
{}
按名称导入。 - 示例:
// math.js export const add = (a, b) => a + b; export const PI = 3.14; // app.js import { add, PI