封装一个自己的 基于express-mysql的脚手架 方便使用 大佬勿喷
主要封装了数据库长连接,静态资源库,路由
- 项目结构
- 数据库长连接配置
将数据库连接对象抛出,避免重复连接
const conncetion = () =>{
//1.引入mysql模块
const mysql = require('mysql');
//2.创建数据库连接
const db = mysql.createConnection({
host:'127.0.0.1',
user:"root",
password:"gqgq123123",
database:"blog",
port:"3306"
});
//3.连接数据库
db.connect(()=>{
console.log('数据库 blog 连接成功!');
});
//4.将连接对象抛出
return db;
}
module.exports = conncetion();
- 项目入口文件配置
const express = require('express');
const app = express();
const cors = require('cors');
//使用cors中间件
app.use(cors());
//json支持
app.use(express.json());
//链接数据库 获得连接对象
const db = require('./db');
//通过立即执行函数 导入api文件并运行
(require('./router/api'))(app,db);
//静态资源库
app.use('/static',express.static(__dirname + '/static'));
app.listen(2666,()=>{
console.log("端口:2666,服务启动成功!")
});
- 路由配置
module.exports = (app,db) => {
//引入router
const express = require('express');
const router = express.Router();
//测试接口
router.get("/test",(req,res)=>{
//数据库查询
db.query(`select * from user`,(err,docs)=>{
if(err){
console.log(err);
return;
}
res.send(docs);
})
});
//挂载router
app.use("/api",router);
};
- 启动服务器
- 接口测试
我在开发里常用的几块就配置完了0.0 配置得比较粗糙,还可以配置一些其他中间件,这里就不做了,按项目需求来就可以了。