Koa.js builds a simple server and connects to the database
1. Environment node v7.6 or above
2. Create service installation dependencies
new folder
mkdir koa && cd koa
initialization
node init -y
install dependencies
node i koa --save
node i @koa/router --save
node i koa-bodyparser --save
node i mysql --save
3. Create index.js, router.js, and controller folders in the root directory
index.js
'use strict'
const Koa = require('koa')
const app = new Koa()
const bodyParser = require('koa-bodyparser')
const router = require("./router")
app.use(bodyParser())
app.use(router.routes())
app.use((ctx) => {
ctx.body = 'Hello koa'
})
app.listen(10021, () => {
console.log('服务已启动~')
})
router.js
'use strict'
const Router = require("@koa/router")
const router = new Router()
const serverController = require("./controller/server")
router.get("/getFirstFun", serverController.test)
module.exports = router
Create a new server.js under the controller folder
'use strict'
class serverController {
static async test(ctx) {
ctx.body = "第一个接口"
}
}
module.exports = serverController
4. Browser access
127.0.0.1:10021/getFirstFun
5. connect to mysql
Create a new config.js in the root directory as the configuration file
config.js
let config = {
Dbs: {
host: '127.0.0.1',
user: 'root',
password: 'root',
database: 'mydb'
}
}
module.exports = config
Create a new mysql.js in the root directory
'use strict'
const mysql = require("mysql")
const {
Dbs} = require('./config')
const pool = mysql.createPool({
host: Dbs.host,
user: Dbs.user,
password: Dbs.password,
database: Dbs.database
})
function Query(sql, values) {
return new Promise((resolve, reject) => {
pool.getConnection(function (err, connection) {
if (err) {
reject(err)
resolve({
msg: "连接失败", err})
} else {
connection.query(sql, values, (err, rows) => {
if (err) {
reject(err)
resolve({
msg: "查询失败", err})
} else {
resolve(rows)
connection.release() //释放连接池
}
})
}
})
})
}
module.exports = {
Query}
6. Query test
server.js introduces mysql
const mysql = require('../mysql')
let sql = `select * from file limit 1`
let result = await mysql.Query(sql)
ctx.body = result
7. Others
Other data connection reference: https://www.cnblogs.com/joyo-w/p/10660952.html