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

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

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

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

 

index.jsjava

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.jsui

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

(3)如何导出模块中的全部函数

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

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

index.jscode

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

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

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

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

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

index.jsio

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

小结:console

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

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

相关文章
相关标签/搜索