微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

我不能 module.exports 超过 1 个功能

如何解决我不能 module.exports 超过 1 个功能

如果我执行以下操作:

// at the end of database.js
module.exports = mongoConnect;
module.exports = getDb;

// app.js
const mongoConnect = require('./util/database').mongoConnect;
mongoConnect();

我收到错误ERROR: mongoConnect is not a function

但是如果我像这样导出它们:

// at the end of database.js
module.exports = {
    mongoConnect,getDb,};

然后在 console.log(mongoConnect) 中运行 app.js 给出以下结果:

{
    mongoConnect: [Function: mongoConnect],getDb: [Function: getDb],}

app.js 可以很好地使用 mongoConnect

为什么我不能使用第一种格式?

解决方法

您正在覆盖导出,因此只保存最后一个值。此外,当直接分配 exports 时,require('...') 将是确切的导出。

您的第二个示例是您打算如何导出多个值:

// module
module.exports = {
    mongoConnect,getDb,};

// other module
const module = require('./module');
module.getDb(...);

// or alternatively
const { getDb } = require('./module');
getDb(...);

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。