模块的引用是后端语言非常重要的一部分,那么在nodejs中,如何做到这一点呢。
在引用其他模块时,常用的就是两种方法:exports,module.exports。
接下来,我们写一个demo来分辨其中的区别
testModule.js:
function User(name,title,post){ this.name=name; this.title=title; this.post=post; } User.prototype.sayhello = function() { console.log("hello"+this.name); }; module.exports=User;
testExports.js:
exports.sayhello=function(name){ console.log('hello,'+name); }
test.js:
var testmodule=require('./testmodule'); console.log(typeof(testmodule)); var newtestobj=new testmodule('mike','zhejiang','311301'); console.log(typeof(newtestobj)); var testexports=require('./testexports'); console.log(testexports);
运行test.js,依次输出:
function
object
{ sayhello: [Function] }
显而易见的是,module.exports返回的其实是一个构造函数,而exports只返回一个对象。
版权声明:除特别声明外,本站所有文章皆是本站原创,转载请以超链接形式注明出处!