nodejs 中 module.exports 和 exports 的区别

2025年03月25日 06:22
有2个网友回答
网友(1):

module.exports可以单独的定义,返回数据类型,而export只能是返回一个object对象。如

module.exports=['劳黑炭','百度经验','module.exports'];//正确

exports=['劳黑炭','百度经验','module.exports'];//报错

网友(2):

你可以用它创建你的模块。例如:(假设这是rocker.js文件)

复制代码
代码如下:

exports.name = function() {

console.log('My name is Lemmy Kilmister');
};

在另一个文件中你这样引用

复制代码
代码如下:

var rocker = require('./rocker.js');

rocker.name(); // 'My name is Lemmy Kilmister'

那到底Module.exports是什么呢?它是否合法呢?

其实,Module.exports才是真正的接口,exports只不过是它的一个辅助工具。 最终返回给调用的是Module.exports而不是exports。

所有的exports收集到的属性和方法,都赋值给了Module.exports。当然,这有个前提,就是Module.exports本身不具备任何属性和方法。如果,Module.exports已经具备一些属性和方法,那么exports收集来的信息将被忽略。