nodejs实践--export和module.export的区别

(1)将函数直接导出成模块

模块文件:./my_modules/m.js

function fn1(){
	console.log('我是fn1')
}
 
module.exports=fn1;

 

index.js

var foo=require('./my_modules/m')
 
foo();//我是fn1

(2)如果模块文件中有两个函数,第二个会覆盖第一个

模块文件:./my_modules/m.js

function fn1(){
	console.log('我是fn1')
}
function fn2(){
	console.log('我是fn2')
}
module.exports=fn1;
module.exports=fn2;

index.js

var foo=require('./my_modules/m')
 
foo();//我是fn2

(3)如何导出模块中的所有函数

模块文件:./my_modules/m.js

function fn1(){
	console.log('我是fn1')
}
function fn2(){
	console.log('我是fn2')
}
module.exports.fn1=fn1;
module.exports.fn2=fn2;

index.js

var foo=require('./my_modules/m')
 
foo.fn1();//我是fn1
foo.fn2();//我是fn2

(4)exports是module.exports的一个引用,exports=module.exports={}

exports.xxx 相当于在导出对象上挂属性,该属性对调用模块直接可见

模块文件:./my_modules/m.js

exports.fn1=function(){
	console.log('我是fn1')
}
exports.fn2=function(){
	console.log('我是fn2')

index.js

var foo=require('./my_modules/m')
 
foo.fn1();//我是fn1
foo.fn2();//我是fn2

小结:

1、module.exports=xxx,相当于导出某个函数,在另一个文件中引用后可直接调用

2、exports.xxx和module.exports.xxx相当于把函数或变量挂载在对象上,在另一个文件中应用后,通过调用对象属性和方法进行使用

转载于:https://my.oschina.net/spinachgit/blog/1936810

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值