如何在节点中正确传递模块

how to pass correctly a module in node

app.js --------------

const mongoose = require("mongoose");
const utils = require("./config/utils");
const app = express();

utils.initializeDb(mongoose);
app.listen(3000);

config/utils.js

module.exports = (mongoose) => {
  initializeDb: async () => {
    await mongoose.connect(
      process.env.MONGO_URI,
      {
        useNewUrlParser: true,
      },
      () => {
        console.log("Mongoose connection successfuly started");
      }
    );
  };
};

terminal/console 中的错误是:类型错误:utils.initializeDb 不是函数。

我正在深入研究优化、封装、清理更多通过函数传递模块的代码等。我尝试了这个东西,但它给了我这个错误...我想知道发生的错误在代码中以及有关如何优化此代码的一些提示。谢谢:)

试试下面的方法:

app.js

    const mongoose = require("mongoose");
    const initializeDb = require("./config/utils");
    const app = express();

    initializeDb(mongoose);
    app.listen(3000);

config/utils.js

module.exports = {
  initializeDb: async (mongoose) => {
    await mongoose.connect(
      process.env.MONGO_URI,
      {
        useNewUrlParser: true,
      },
      () => {
        console.log("Mongoose connection successfuly started");
      }
    );
  };
};