Javascript 如何在nodejs中编写数据库模块
在我的项目中,我使用的是MySQL数据库。问题是,我不知道如何将简单的数据库模块写入一个js文件 我的代码是: 文件:database.jsJavascript 如何在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
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()代码>只需将构造函数中的内容移到类定义之外?