module.exports、exports、export default、export、require、import 区别和不同之处

本文详细介绍了JavaScript中模块导出与导入的不同方式,包括es5的module.exports和exports以及es6的export default和export,以及对应的require和import的使用。重点讲解了export、export default、exports和module.exports的区别,以及require和import的用法。此外,还强调了export default的唯一性以及export按需导出的灵活性。

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

在es5中,用 module.exports 和 exports 导出模块,用 require 导入模块。
在es6中,新增 export default 和 export 导出模块,用 import 导入模块。
如果开发环境支持es6语法,用es5的 module.exports 和 exports 导出的模块,可以使用es6的 import 导入;
用es6的 export default 和 export 导出的模块,可以使用 es5 的 require 导入。

1. export
    用于对外输出本模块(一个文件可以理解为一个模块)变量的接口
    使用export 导出的对象需要使用{}括起来
    export xxx;

2. export default
    export default输出一个叫做default的变量,然后系统允许你为它取任意名字。
    所以可以为import的模块起任何变量名,且不需要用大括号包含
    export default xxx;

3. exports
    es5版本的export
    exports.xxx = func1;
    
4. module.exports
    es5版本的export default
    module.exports = xxx;

5. require
    用于在一个模块中加载另一个含有exports接口的模块

6. import
    用于在一个模块中加载另一个含有export接口的模块。
    
    
注意:
    1、export default 向外暴露的成员,可以使用任意变量来接收
    
    2、在一个模块中,export default 只允许向外暴露一次
    
    3、在一个模块中,可以同时使用export default 和export 向外暴露成员

    4、使用export向外暴露的成员,只能使用{ }的形式来接收,这种形式,叫做【按需导出】

    5、export可以向外暴露多个成员,同时,如果某些成员,在import导入时,不需要,可以不在{ }中定义

    6、使用export导出的成员,必须严格按照导出时候的名称,来使用{ }按需接收

    7、使用export导出的成员,如果想换个变量名称接收,可以使用as来起别名

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值