vue+node+mysql8.0,详细步骤及报错解决方案

发布于:2024-12-19 ⋅ 阅读:(10) ⋅ 点赞:(0)

1.下载需要安装的插件

  • 下载express
    npm install express
  • 下载cors,用于处理接口跨域问题
    npm install cors
  • 下载mysql
    npm install mysql

2.配置服务器

可以在vue项目的src同级创建server文件夹(这里的位置可随意选择)
在这里插入图片描述

然后依次创建:

  • 新建/server/app.js,用于配置服务器相关信息
const express = require('express')
const cors = require('cors')
const bodyParser = require('body-parser')
const router = require('./router') //导入路由配置,创建/server/router.js后使用

const app = express()
app.use(cors())
app.use(express.urlencoded({extended: false}))
app.use(bodyParser.json())
app.use(router)   //导入路由配置,创建/server/router.js后使用

app.listen(3018, () => {
    console.log('server running at http://127.0.0.1:3018')
})
  • 新建/server/db/index.js,用于配置数据库相关信息
const mysql = require('mysql');

db = mysql.createPool({
    host: '127.0.0.1',
    user: 'root',
    password: '',  // 这里使用自己数据库的密码
    database: 'web'// 这里使用自己数据库的名称
})

module.exports = db
  • 新建/server/api/user.js,用于操作数据库(这里获取user表中的数据)
let db =require('../db/index')
exports.get=(req,res)=> {
  let sql = 'select * from user'
  db.query(sql, [req.query.name, req.query.password], (err, data) => {
    if (err) {
      return res.send('错误:' + err.message)
    }
    res.send(data)
  })
}
  • 新建/server/router.js,用于配置对应路由
let express = require('express')
let router = express.Router()
let user = require('./api/user')
router.get('/user' , user.get)
module.exports = router

3.测试服务器

好啦,到这里就可以测试下服务器是否搭建成功

在server文件夹下cmd执行

node app.js

提示“server running at http://127.0.0.1:3018”

浏览器打开http://127.0.0.1:3018/user,可看见user数据表中对应的数据,表示服务器搭建成功


我第一次使用node连接mysql8.0时,遇到了报错:
Client does not support authentication protocol requested by server; consider upgrading MySQL client

如果你遇到了相同的问题,可参考《node连接mysql报错:Client does not support authentication protocol requested by server; consider…》

最后的实现效果
在这里插入图片描述