正在导出从module.exports返回的对象

LP45

如果我有此hello.js文件:

var greeting = function() {
    console.log('Hello');
}

module.exports = greeting;

然后在main.js中:

var temp = require('./hello.js');
temp();

当您说的module.exports = greeting是将greeting函数附加到模块上的exports对象时。因为当我需要时hello.jsmain.js我能够直接调用temp()。并且不必像temp.greeting()那样做;

这是否意味着由于require returns module.exports它只是返回导出对象上的方法而不是完全返回导出对象,所以正确吗?我很困惑为什么它返回的是导出对象(问候函数)上的内容,而不是真正的导出对象本身。

盗贼大师

require(...)module.exports从该模块返回这通常是一个对象,但也可以是其他任何东西(通常是一个函数),例如在您的模块仅导出单个函数的情况下。

这样做没有错-module.exports只是一个简单的对象(module.exports = {};代码中最有可能在模块js文件内容“周围”运行的地方)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

Flutter StreamProvider返回空对象,即使流正在返回对象

导出const foo,导出默认foo和module.exports = foo之间的区别

节点module.exports返回未定义

ESLint-首选将默认导出导出为Module.Exports

从module.exports对象数组中检索值

如何访问module.exports中的对象属性

节点js中的module.exports是否创建导出对象或函数的浅表副本或深表副本?

正在运行的JavaScript模块返回SyntaxError:意外的令牌导出

module.exports返回未定义

Node.js module.exports函数从MongoDB返回数组

module.exports返回值未定义

从路由器调用时module.exports返回undefined

如何从module.exports导出对象?

我的module.exports返回为[object Object]

module.exports返回未定义

Vuex模块中的import和module.exports显示未捕获的TypeError:无法分配为仅读取对象的属性'exports'

导出的对象返回未定义

module.exports不包含默认导出

在节点module.exports中的对象方法中使用'this'

在Node module.exports = {}中导出一个类

使用module.exports返回对象

节点的module.exports作为空对象返回

为什么Webpack加载程序返回“ module.exports = ...”?

当我尝试将中间件函数导出到 module.exports 对象时,为什么会出现“Next is not a function”?

如何在“module.exports”中导出多个参数?

如何使打字稿导出与 module.exports 向后兼容

导出的对象返回“未定义”

为什么 module.exports 不能正确导出函数?

Module.exports 大对象性能或开销