node.js+express+mysql开发api接口

1,587 阅读1分钟

1.安装node npm node 直接去官网下载选择下载即可 nodejs.org/zh-cn/

2.安装express

npm install express -g
npm install express-generator

3.创建目录结构

express demo
npm install

4.修改配置

var app = express();
var http = require('http');
var server = http.createServer(app);

server.listen('3000');

5.连接数据库 在数据库中创建表结构 安装mysql

npm install mysql --save

创建utils目录 创建数据库链接方法

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方法

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);

到此,一个接口就完成了 另外具体的接口根据需求来完成。