1.安装node npm
node 直接去官网下载选择下载即可 nodejs.org/zh-cn/
2.安装express
npm install express -g
npm install express-generator
3.创建目录结构
express demo
npm install
4.修改配置
![](https://p9-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/9d374b265f0e418fb4a803bda908e855~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp)
var app = express();
var http = require('http');
var server = http.createServer(app);
server.listen('3000');
5.连接数据库
在数据库中创建表结构
安装mysql
npm install mysql --save
创建utils目录
创建数据库链接方法
![](https://p1-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/1023c58082b54afbb8ea81bb5d4be469~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp)
const mysql = require('mysql')
module.exports = {
//数据库配置
config: {
host: 'localhost',
port: '3306',
user: '*****',
password: '*****',
database: '*****'
},
//连接数据库
//连接池方法
sqlConnect: function (sql, sqlArr, callBack) {
var pool = mysql.createPool(this.config)
pool.getConnection((err, conn) => {
if (err) {
console.log('连接失败')
return
}
//事件驱动回调
conn.query(sql, sqlArr, callBack)
conn.release()
})
},
异步连接池
//promise 回调
SySqlConnect: function (sySql, sqlArr) {
return new Promise((resolve, reject) => {
var pool = mysql.createPool(this.config)
pool.getConnection((err, conn) => {
if (err) {
reject(err)
}
else {
conn.query(sySql, sqlArr,(err,data)=>{
if(err){
reject(err)
}
else{
resolve(data)
}
})
conn.release()
}
})
}).catch((err)=>{
console.log(err)
})
}
}
6.创建api方法
![](https://p6-juejin.byteimg.com/tos-cn-i-k3u1fbpfcp/41a8707e182742ec95f66c5a63611cc4~tplv-k3u1fbpfcp-zoom-in-crop-mark:1512:0:0:0.awebp)
var dbConfig = require('../utils/dbconfig')
//获取分类
getCate = (req, res) => {
var sql = "select * from cate"
var sqlArr = []
var callBack = (err, data) => {
if (err) {
console.log('链接出错')
}
else {
res.send({
'list': data
})
}
}
dbConfig.sqlConnect(sql, sqlArr, callBack)
}
//写好的方法记得暴露出去
module.exports = {
getCate
}
//在index.js路由中
var cate = require('../controllers/cateController')
/* GET home page. */
router.get('/',cate.getCate);
到此,一个接口就完成了
另外具体的接口根据需求来完成。
|