CommonJS和ES6是两种不同的模块化规范。
- CommonJS 是一种模块化规范,通常用于服务器端的Node.js环境。在CommonJS规范中,模块的导入和导出是通过
require和module.exports来实现的。例如:
// 导入模块
var moduleA = require('moduleA');
// 导出模块
module.exports = { ... };
- ES6 是ECMAScript 6(也称为ES2015),它引入了新的语法来支持模块化。其中,模块的导入和导出是通过
import和export关键字来实现的。例如:
// 导入模块
import moduleA from 'moduleA';
// 导出模块
export default { ... };
主要区别包括:
- 语法不同: CommonJS使用
require和module.exports,而ES6使用import和export。 - 异步加载: CommonJS模块是同步加载的,而ES6模块可以实现异步加载。
- 静态和动态: ES6模块的依赖是静态的,而CommonJS模块的依赖是动态的。
总的来说,ES6模块化更加现代化和灵活,而CommonJS主要应用于Node.js环境和旧有的项目中。在浏览器端,现代前端开发通常采用ES6模块化规范。