Javascript 如何在nodejs中编写数据库模块

Javascript 如何在nodejs中编写数据库模块,javascript,mysql,node.js,database,Javascript,Mysql,Node.js,Database,在我的项目中,我使用的是MySQL数据库。问题是,我不知道如何将简单的数据库模块写入一个js文件 我的代码是: 文件:database.js var mysql = require("mysql"); var connection = mysql.createConnection({ host: "localhost", user: "root", password: "", database: "mydb" }); module.exports = clas

在我的项目中,我使用的是MySQL数据库。问题是,我不知道如何将简单的数据库模块写入一个js文件

我的代码是:

文件:database.js

var mysql = require("mysql");

var connection = mysql.createConnection({
    host: "localhost",
    user: "root",
    password: "",
    database: "mydb"
});

module.exports = class Database {

    constructor() {
        connection.connect(function (err) {
            if (err) {
                console.error(err);
                throw err;
            } else {
                console.log("Connection to database was successful");
            }
        });
    }

    getConnection() { return connection; }
};
我在项目中有很多文件,每个文件都需要使用数据库,问题是,当我导入
数据库时,每次调用js
构造函数时,我认为这是一种糟糕的方法

有没有更好的方法在项目中使用数据库连接?有些人认为可以从
database.js
文件调用
getConnection()
,而不使用调用构造函数

感谢您的帮助。

可能的解决方案:

const mysql = require("mysql"),
      connection = mysql.createConnection({
          host: "localhost",
          user: "root",
          password: "",
          database: "mydb"
      });

connection.connect(function (err) {
    if (err) {
      console.error(err);
      throw err;
   } else {
    console.log("Connection to database was successful");
  }
});

module.exports =  {
  getConnection() { return connection; }
};

导出write时在database.js文件中:

modules.exports = new Database();
和使用

require('./path/to/database file')


无论您在哪里使用实例,它都会得到相同的对象。

请考虑为您的数据库使用一个实例。您还可以在模块内返回
数据库的实例:
module.exports=new Database()只需将构造函数中的内容移到类定义之外?