common.js和es6中模块引入的区别
在JavaScript中,common.js
和ES6
模块(也称为ES6模块或ESM
)之间的主要区别在于它们的导入和导出机制。
CommonJS模块(Node.js中使用):
- 使用
require
关键字来引入模块。 - 使用
module.exports
或exports
对象来导出模块。
- 使用
// 导入模块
const module = require('module-name');
// 导出模块
module.exports = myModule;
ES6模块:
- 使用
import
关键字来引入模块。 - 使用
export
关键字来导出模块。
- 使用
// 导入模块
import myModule from 'module-name';
// 导出模块
export default myModule;
ES6模块是静态的,这意味着导入和导出是在代码运行之前就完成了,而CommonJS模块是动态的,这意味着在代码运行时才会加载和执行模块。
此外,ES6模块是编译时加载,CommonJS模块是运行时加载。这意味着使用ES6模块时,如果导入的模块没有变化,它不会重新加载,而CommonJS模块每次都会重新加载。
评论已关闭