因此,我正在尝试做到这一点,这样,当我只需将连接和runQuery函数放在一个文件中而只需要在另一个文件中时,就不必与数据库建立多个连接。这是我的“ mysql.js”文件中的内容。
const mysql = require('mysql');
module.exports = function () {
let connection = mysql.createConnection({
host: '------',
user: 'voltclou_site',
password: '----',
database: process.env.database
})
connection.connect(function(err) {
if (err) {
console.error('[DATABASE] Error connecting: ' + err.stack);
return;
}
console.log('[DATABASE] Connected as id ' + connection.threadId);
});
async function runQuery(query, values) {
return new Promise((resolve, reject) => {
connection.query(query, values, function (error, results) {
if (error) return reject(error)
return resolve(results)
})
})
}
}
这是我想在文件中要求的方式:
const { connection, runQuery } = require('./functions/mysql')
我这样做正确吗?我是整个模块的新手。我一直试图将文件拆分,因为一个3000行以上的index.js太疯狂了。谢谢你的帮助。
不,您没有做到正确。完成的操作已将其导出为默认值,但您想导出命名函数。您可以这样做:
const mysql = require("mysql");
let connection = mysql.createConnection({
host: "81.19.215.6",
user: "voltclou_site",
password: "yogO{6,F@8WS",
database: process.env.database
});
connection.connect(function(err) {
if (err) {
console.error("[DATABASE] Error connecting: " + err.stack);
return;
}
console.log("[DATABASE] Connected as id " + connection.threadId);
});
async function runQuery(query, values) {
return new Promise((resolve, reject) => {
connection.query(query, values, function(error, results) {
if (error) return reject(error);
return resolve(results);
});
});
}
module.exports = {
connection,
runQuery
};
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句