当前位置: 首页 > 后端技术 > Node.js

module.exports、exports、export、exportdefault的区别

时间:2023-04-03 15:58:40 Node.js

module.exports和exports1。Node应用由模块组成,使用CommonJS模块规范;每个文件都是一个模块,有自己的作用域,文件中定义的变量、函数、类都是私有的;CommonJS规范规定在每个模块内部,module代表当前模块,module是一个对象,它的exports属性(即module.exports)是一个外部接口。varx=5;module.exports.x=x;以上代码通过module.exports输出变量x;require方法用于加载模块varx=require('./x.js');log(x);2。exports变量为了方便,Node为每个模块提供了一个exports变量,指向module.exports,相当于每个模块的头部,有一行这样的命令varexports=module.exports;//使用必须导出特定属性的名称exports.utils=()=>{};导出和导出default1。export和exportdefault属于ES6模块(简称ESM);export命令用于指定模块的对外接口,import用于输入其他模块提供的功能exportletyear=2019;asletmonth=11,year=2019;functionsum(){};export{month,yearasget_years,sum};的另一种写法和用法2.export和import的复合用法export{fooasmyFoo}from'my_module';export*from'my_module';3.为了给用户提供方便,模块可以不用阅读文档就可以加载,exportdefault命令用于指定模块的默认输出。导出默认函数(){//todo}