本文主要是介绍【Node.js】module.exports和exports的区别与使用,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
1.module.exports和exports的区别:
- module.exports 初始值为一个空对象 {}
- exports 是指向的 module.exports 的引用
- require() 返回的是 module.exports 而不是 exports
2. 常见用法
module.exports在使用时,在一个js文件中只会有一条语句,否则第一条语句之后的表达式会将之前的赋值操作覆盖,如示例:
3. js引用的特性决定了module.exports和exports的区别,所以一般情况下,module.exports用来导出类,exports用来导出方法,如示例:
app.js
var Cat = require("./cat.js")
var tool = require("./tool.js")var cat = new Cat('baby');console.log(tool.toUpperCase(cat.sing()))
cat.js
function Cat(name){this.name = name;this.sing = function(){return "constructor: "+this.name+" want to walk.";}
}
Cat.prototype.sing = function(){return "prototype: "+this.name+" want to sing.";
}
Cat.prototype.walk = function(){return "prototype: "+this.name+" want to walk.";
}
Cat.sing = function(){return "function: "+this.name+" want to sing.";
}module.exports = Cat;
tool.js
function toUpperCase (str){return str.toLocaleUpperCase();
}function toLowerCase(str){return str.toLocaleLowerCase();
}exports.toUpperCase = toUpperCase;
exports.toLowerCase = toLowerCase;
这篇关于【Node.js】module.exports和exports的区别与使用的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!