npm init -y //初始化项目
npm i koa //安装koa框架
index.js
const koa = require('koa')//导入koa
const app = new koa() //实例化koa
app.use(async ctx => {
ctx.body = 'Hello koa';
});
//开启监听
app.listen(3030, ()=>console.log('server in running on 3030'))
开始调试服务,可以看到服务以及监听
安装koa-static中间件
npm install koa-static --save
在入口文件中设置静态资源的开放路径
const koa = require('koa')//导入koa
const app = new koa() //实例化koa
const path = require('path')//路径
//静态资源
// const koa_static =require('koa-static')
// app.use(koa_static(path.resolve(__dirname,'./public/')))
// 可以简化为
app.use(require('koa-static')(path.resolve(__dirname, 'public')))
// app.use(async ctx => {
// ctx.body = 'Hello koa';
// });
//开启监听
app.listen(3030, ()=>console.log('server in running on 3030'))
可以看到静态资源路径也被成功开放了,后期可以在public文件夹内放入html、img、css等文件。
安装链接MongoDB的第三方管理包mongoose
npm install mongoose
封装链接connect.js,链接MongoDB数据库。
const mongoose =require('mongoose') //导入mongoose包
//链接MongoDB服务器
mongoose.connect('mongodb://localhost:27017/DB',{}) //DB为要链接的数据库名
const connect = mongoose.connection
connect.on('open',()=>console.log('数据库链接成功'))
connect.on('error',()=>console.log('数据库链接失败'))
index.js 导入连接js
创建MongoDB数据库模型这里就以常用的用户表为例
const mongoose = require('mongoose')
module.exports = mongoose.model('user', mongoose.Schema({
use_id: String,
name: String,
gander:String,
age:Number
}))
设置controllers控制器函数,user.js
const userModel = require('../models/user')
class User {
//添加用户
static async insertUser(ctx) {
let {
use_id,
name,
gender,
age
} = ctx.request.body
const result = userModel.insertMany({
use_id,
name,
gender,
age
})
ctx.body = {
err:0,
msg:'插入成功',
data: result
}
}
//查询用户
static async getUser(ctx) {
const userInfo = await userModel.find()
ctx.body = {
err:0,
msg:'查找成功',
data: userInfo
}
}
}
module.exports = User
安装路由
npm i koa-router
或者
npm i @koa/router
随便引入哪一个都行,因为他们都是一个团队的路由包。
写路由文件router/index.js
const koaRouter = require('koa-router')
const router = new koaRouter()
const Cu = require('../controllers/user') //导入控制器中的方法
router
.get('/api/user/getUser',Cu.getUser)
module.exports = router
在项目的入口文件index.js中开放动态API资源
const koa = require('koa')//导入koa
const app = new koa() //实例化koa
const path = require('path')//路径
//静态资源
// const koa_static =require('koa-static')
// app.use(koa_static(path.resolve(__dirname,'./public/')))
// 可以简化为
app.use(require('koa-static')(path.resolve(__dirname, 'public')))
//链接数据库 这里以MongoDB为例
require('./utils/connect')
//开放动态API接口
app.use(require('./router/index').routes())
// app.use(async ctx => {
// ctx.body = 'Hello koa';
// });
//开启监听
app.listen(3030, ()=>console.log('server in running on 3030'))
npm i koa-body
//加载解析post的body数据中的中间件
app.use(require('koa-body')())
插入数据
至此使用koa开启的node服务链接MongoDB数据库以及基本完成了。
使用nodejs的koa框架连接MongoDB数据库.zip-互联网文档类资源-CSDN下载