我正在尝试在后端使用 mysql2,但当我在生产中使用它时,它似乎扰乱了我的路线。
我的服务器文件如下所示:
const express = require('express')
const app = express()
const PORT = process.env.PORT || 5001
const path = require('path')
const cors = require('cors')
const bodyParser = require('body-parser')
// const mysql = require('mysql2')
app.use(cors())
app.use(bodyParser.json())
app.get('/test', (req, res) => {
res.send({message: 'Working Again'})
})
app.get('/budgettracker/pull', (req, res) => {
res.send({message: '/budgettracker/pull hit'})
})
app.post('/budgettracker/push', (req, res) => {
console.log(req.body)
res.send(req.body)
})
app.get('*', (req, res) => {
res.sendFile(path.resolve(__dirname, '../public_html','index.html'));
});
app.listen(PORT, () => {
console.log(`Listening on port http://localhost:${PORT}`)
})
我使用 React Router 来处理前端的路由,并在节点服务器上使用 res.sendFile 来为未指定的路由提供 index.html。
当我包含“require mysql2”行时,在刷新子路由上的页面时收到 503 错误。 当我将其注释掉时,路由将按预期工作。我不明白问题出在哪里,我有点想切换到续集,看看是否有效。
如有任何建议,我们将不胜感激。
我尝试在服务器上重新安装 mysql2,但这似乎没有改变任何东西。我不确定在声明路由和数据库内容时是否应该有特定的顺序。
弄清楚了,我只需要更新到服务器上的节点的最新版本即可。
@Phil 确实链接到了处理资产的有用资源。