如何在nodejs中编写数据库模块
在我的项目中,我正在使用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; } };
我在项目中有很多文件,每一个都需要使用数据库,问题是,当我每次调用database.js
构造函数的时候,我认为它是一个坏的方法。
有没有更好的方法如何在项目中使用数据库连接? 有点像从database.js
getConnection()
文件中调用getConnection()
而不调用构造函数。
感谢您的任何帮助。
可能的解决scheme:
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; } };
在导出写入时在你的database.js文件中:
modules.exports = new Database();
并使用
require('./path/to/database-file')
无论你在哪里使用实例,它总会得到相同的对象。