前言
最近写了一个个人的博客,因为要对博客里的文章进行一些增删改查的操作,要涉及到后台服务器,并且可以跟我的Vue项目相关联,所以就用node.js和MySQL自己搭建了一个服务器,做了相关的后台接口。
流程
1. 首先新建一个文件夹,在 VSCode 打开
2. 打开终端,初始化项目:
npm init -y
- 初始化完毕后,项目里面会多一个
node_modules文件夹和两个package文件
3. 下载相关插件:
npm install express mysql body-parser cors --save
- 以上插件的作用: 1. express:搭建服务器的插件 2. mysql:操作数据库的插件 3. body-parser:获取处理前端传递的信息 4. cors:跨域
4. 在该文件夹创建以下文件
database.jsrouter.jsindex.js
5. database.js主要用来写访问数据库的一些相关配置,将数据库的信息如实写入即可:
// 导入mysql插件
const mysql = require('mysql')
//建立连接(拿我的本地数据库为例子,localhost默认端口是127.0.0.1)
const conn = mysql.createConnection(config: {
host: '127.0.0.1',
user: 'root',
password: '1234',
database: 'blog',
multipleStatements: true
});
conn.connect();
//将数据库暴露出去
modules.exports = conn;
6. router.js用来写与客户端关联的接口
// 导入express
let express = require('express');
//加载路由
let router = express.Router();
//导入database数据库
const conn = require('./database');
//写接口(就拿新增一篇文章为例子)
router.post('/api/insertList', function (req, res) {
const sqlStr = 'INSERT INTO artical SET ?'; //SQL语句,在数据库里面增加一行文章数据
let { body } = req; //第一次使用的话这里要注意,req.body才是客户端传输过来的数据
conn.query(sqlStr, body, function (err) {
if (err) {
res.json({ code: 1, msg: err });
// console.log('新增失败', err);
}
else {
res.json({ code: 0 });
// console.log('新增成功');
}
});
});
//导出路由
modules.exports = router;
- 当然,就一个新增文章的接口明显是不够用的,你可以模仿上面接口的写法,自己再添加一些新的接口。
7. index.js为整个后端的文件入口
//导入相关插件
const express = require('express');
const bodyParser = require('body-parser');
//创建一个app
const app = express();
//引入router
var router = require('./router');
//设置跨域
app.use(require('cors')());
//挂载参数处理中间件
app.use(bodyParser.urlencoded({ extended: false }));
//处理json格式数据
app.use(bodyParser.json());
//使用路由
app.use('/', router);
//开启监听
app.listen(3000, function (req, res) {
console.log('http://localhost:3000'); // http://localhost:3000就是我的服务器的端口了
输
});
8. 启动服务器
- 现在,一个简单的node服务器已经搭好了,我们可以在终端通过
node index.js启动服务器。 - 启动之后,就可以在自己本地的前端项目中去使用接口了。例如上面的新增文章的接口,在前端可以通过用
axios请求http://localhost:3000/api/insertList进行数据传输。