node——module.exports

1.

在a.js中

var b=require('./b.js');
 console.log(b);

在b.js中

function add(x,y){
    return x+y;
}

var result=add(100,1000);

console.log(result);

执行a.js 

当加载一个模块,默认被require()加载后,返回的是一个对象{}

2.

在b.js中

function add(x,y){
    return x+y;
}

var result=add(100,1000);

console.log(result);

//return "hello";会有问题
//给module.exports符什么值,加载b.js模块的时候就会返回什么值
module.exports='hello world!';

执行a.js

给module.exports符什么值,加载b.js模块的时候就会返回什么值
3.

b.js
function add(x,y){
    return x+y;
}

var result=add(100,1000);

console.log(result);

//return "hello";会有问题
//给module.exports符什么值,加载b.js模块的时候就会返回什么值
//module.exports='hello world!';//字符
//module.exports=32233;//数字
module.exports=function(x){
    console.log(x);
};

a.js

 var b=require('./b.js');
 console.log(b);
 b('hahaha');

执行a.js

module.exports后面可以符字符串,数值,还有函数
4.
那么我们还可以这样
b.js
function add(x,y){
    return x+y;
}

var result=add(100,1000);

console.log(result);

//return "hello";会有问题
//给module.exports符什么值,加载b.js模块的时候就会返回什么值
//module.exports='hello world!';//字符
//module.exports=32233;//数字
/*module.exports=function(x){
    console.log(x);
};*/

module.exports.name='Jim';
module.exports.age=11;
module.exports.show=function(){
    console.log(this.name+this.age);
}

a.js

 var b=require('./b.js');
 console.log(b.name);
  console.log(b.age);
 console.log(b.show);
b.show();

执行a.js

b.js也可以返回出这样的对象

总结:

所以,require用来加载模块,module.exports用来暴露模块

猜你喜欢

转载自www.cnblogs.com/ellen-mylife/p/10987865.html
今日推荐