const express = require('express')
const app = express()
// const mysql = require('mysql')
const mysql = require('./db')()
const cors = require('cors')
require('dotenv').config();
const port = process.env.PORT || 5000
app.use(express.json())
app.use(cors())
app.listen(port, () => console.log(`${port}`))
app.get('/', (req, res) => {
res.send("hi")
})
const connection = mysql.init()
mysql.open(connection)
这是我的server.js代码
const mysql = require('mysql')
require('dotenv').config();
module.exports = function() {
return {
init: function () {
return mysql.createConnection({
host: process.env.HOST,
user: process.env.USER,
password: process.env.PASSWORD,
database: process.env.DATABASE,
port: process.env.PORT
})
},
open: function(con) {
con.connect(function(err) {
// if (err) throw err
// console.log('Connected!')
if(err) {
console.log('mysql connection error: '+err)
} else {
console.log('mysql is connected successfully.')
}
})
}
}
}
这是我的db.js代码
我期望在执行这段代码时打印出端口号和消息“mysqlisconnectingsuccessfully”。但是当我运行它的时候,除了端口号什么都不输出。甚至没有错误消息。
所以我无法验证数据库连接是否正确。为什么connect()函数的内容没有被执行?
1条答案
按热度按时间9fkzdhlc1#
您对服务器端口和数据库端口使用了相同的环境变量。请在.env文件中将数据库端口的变量名
PORT
更改为DB_PORT
。然后在db.js文件的数据库端口中更改环境变量名。db.js
example .env file