nodejs模块引用

Posted kkdf

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nodejs模块引用相关的知识,希望对你有一定的参考价值。

模块的引用是后端语言非常重要的一部分,那么在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只返回一个对象。

以上是关于nodejs模块引用的主要内容,如果未能解决你的问题,请参考以下文章

nodejs模块引用

[NodeJS]Node模块原理

当尝试将变量传递给另一个模块时,将代码拆分到Nodejs中的自定义模块时,它将被定义为未定义

Nodejs的模块化

使用 NodeJS 和 JSDOM/jQuery 从代码片段构建 PHP 页面

nodeJS模块寻址规则