在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来起别名