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…》
最后的实现效果