详解export default与require和exports,export区别与联系

一、

module.exports和exports是属于 CommonJS 模块规范!

export和export default是属于ES6语法

同样import和require分别属于ES6和CommonJS!


二、

module.exports和exports、export和export default都是导出模块;

import和require则是导入模块。

所以现在就不要弄混了,module.exports导出对应require导入,export导出对应import导入。


三、module.exports和exports的区别与联系

讲到这里就不得不稍微提一下模块化:

Node应用由模块组成,采用CommonJS模块规范。

根据这个规范,每个文件就是一个模块,有自己的作用域。在一个文件里面定义的变量、函数、类,都是私有的,对其他文件不可见。

CommonJS规范规定,每个模块内部,module变量代表当前模块。这个变量是一个对象,它的exports属性(即module.exports)是对外的接口。加载某个模块,其实是加载该模块的module.exports属性。

通过export方式导出,在导入时要加{ },export default则不需要    使用export default命令,为模块指定默认输出,这样就不需要知道所要加载模块的变量名

你可能感兴趣的:(详解export default与require和exports,export区别与联系)