在nodejs中学搜,提供了exports 和 require 兩個(gè)對象融师,其中 exports 是模塊公開的接口奠旺,require 用于從外部獲取一個(gè)模塊的接口宦棺,即所獲取模塊的 exports 對象植酥。在我們自己寫模塊的時(shí)候镀岛,需要在模塊最后寫好模塊接口,聲明這個(gè)模塊對外暴露什么內(nèi)容友驮,module.exports 提供了暴露接口的方法漂羊。
1、返回一個(gè)JSON Object
//app.js
var app = {
name: 'app',
version: '1.0.0',
sayHello:sayHello(),
sayName: function(name){
console.log(this.name);
}
}
function sayHello(){
console.log("Hello");
}
module.exports = app;
調(diào)用方法:(可傳入?yún)?shù))
var app = require('./app.js');
app.sayName('hello');//hello
app.sayHello();//hello
2.返回一個(gè)模塊函數(shù)
//function.js
var func1 = function() {
console.log("func1");
};
var func2 = function() {
console.log("func2");
};
exports.function1 = func1;
exports.function2 = func2;
調(diào)用方法:
var functions = require("./function.js");
functions.function1();
functions.function2();
3.返回一個(gè)構(gòu)造函數(shù)
//CLASS.js
var CLASS = function(args){
this.args = args;
}
module.exports = CLASS;
調(diào)用方法:
var CLASS = require('./CLASS.js');
var c = new CLASS('arguments');
4.返回一個(gè)實(shí)例對象:
//CLASS.js
var CLASS = function(){
this.name = "class";
}
CLASS .prototype.func = function(){
alert(this.name);
}
module.exports = new CLASS();
調(diào)用方法:
var c = require('./CLASS.js');
c.func();//"class"
原文作者技術(shù)博客:http://www.reibang.com/u/ac4daaeecdfe