module.exports、exports、export的区别

本文深入解析了CommonJS和ES6模块系统的差异。在CommonJS中,每个文件被视为一个独立的模块,通过exports对象暴露接口。而在ES6中,export关键字允许更灵活的模块导出方式,import用于引入模块。文章还强调了正确使用exports和module.exports的重要性。

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

在CommonJS模块规范下,每个文件都是一个模块module。

如何让文件之间互相访问?
每个文件都有一个暴露向外的借口exports对象,exports对象上的属性都可以被外部文件中引用。
为了写法简单每个文件的最顶部都有:

exports = module.exports

因此exports导出文件时不能写exports = XXX,因为exports是指向modelu.exports的,只能在exports上添加需要导出的属性,exports.a=a
因此module.exports与exports是同一个对象,只是用的时候需要注意,不能给exports直接赋值,会导致exports不再指向module.exports

export是ES6的语法,export导出的是一个对象,export {a},需要在导入的时候指定同样的属性名,import {a} from ‘…’
export default 导出可以不需要指定相同的属性名。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值