前端有哪些模块化规范

CommonJS用于Node.js环境,通过`require`导入模块,`module.exports`导出,模块加载一次性且值被拷贝。而ES6模块是静态加载,使用`export`和`import`,不缓存值,支持动态引用。主要区别在于值的拷贝与引用以及运行时和编译时的区别。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

CommonJS

暴露:module.exports = value或http://exports.xxx = value
引入:require(xxx),如果是第三方模块,xxx为模块名;如果是自定义模块,xxx为模块文件路径
特点:所有代码都运行在模块作用域,不会污染全局作用域。模块可以多次加载,但是只会在第一次加载时运行一次,然后运行结果就被缓存了,以后再加载,就直接读取缓存结果。要想让模块再次运行,必须清除缓存。

ES6模块化

暴露:export default 或 export xxx
引用:import aaa form ‘xxx’ 或 import { aaa } form ‘xxx’
特点:ES6 模块是动态引用,并且不会缓存值,模块里面的变量绑定其所在的模块。

区别

① CommonJS 模块输出的是一个值的拷贝,ES6 模块输出的是值的引用。
② CommonJS 模块是运行时加载,ES6 模块是编译时输出接口。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值