export default与export,module.exports与exports的区别和关系

export default与export属于ES6语法,module.exports与exports属于CommonJS规范

ES6语法:

导出: export {one, two, three, four, five},{}中为变量名/函数名
导入: import {one, two, three, four, five} from '模块路径'

导出: export default 变量|函数|文件|模块|etc
导入: import anyName from "模块路径"

  1. export可以在同一个模块中使用多次;而export default则用于规定模块的默认对外接口,默认对外接口只能有一个,所以export default只能在同一个模块中出现一次;
  2. 使用export导出的模块,在引入模块的时候,须得使用{}进行包裹;而使用export default导出的模块,在引入模块的时候,无需使用{}进行包裹;

CommonJS规范:

导出: module.exports = function() {};
导入: require('模块路径');

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

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

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容