安装
官网介绍:
Koa 是一个新的 web 框架,通过利用 async 函数,Koa 帮你丢弃回调函数,并有力地增强错误处理。 Koa 并没有捆绑任何中间件, 而是提供了一套优雅的方法,帮助您快速而愉快地编写服务端应用程序。
官网API
koa用来承担服务器的作用。
koa-generator:安装:
npm install -g koa-generator
创建项目
koa2 project 或 koa2 -e project ps: -e表示使用ejs模板引擎
安装依赖
cd project npm install
安装update-binary包
npm install --update-binary
启动app
SET DEBUG=koa* npm start
对应命令:
koa start (修改代码,应用不自更新)
koa run dev (修改代码,应用自更新,建议使用)
koa run prd
koa test
nuxt+koa2配置环境
创建文件nuxt-learn
vue init nuxt-community/koa-template nuxt-learn
当npm install安装失败时,
运行
nrm use npm(回车)
nrm ls(选择当前npm安装源,重新安装即可)
如果安装后提示–update-binary字眼,则重新安装下 npm install --update-binary
如果提示
ajv-keywords@3.2.0 requires a peer of ajv@^6.0.0 but
.字眼,则重新安装npm i ajv@^6
koa异步(async 和 await)
我们这里举个小栗子
在router下的index.js文件创建一个测试接口,
这里注意,async下可以不用await,但如果存在await则必须要有async。
保存后查看
控制台看服务端响应时间为1s左右
- await关键字必须紧跟async关键字后面,不能单独出现;
- await关键字后面必须紧跟一个promise对象,如果不是,则系统会强制转化为promise;
- 如果存在多个await调用,则按照它们出现的顺序依次向下执行
koa中间件
koa2中间件的使用原理,如同你贯穿一个洋葱,一层一层下去,最终还是会穿过初始的那一层,所以在引入时可以无序,但在使用’use’调用时,会按照顺序执行。能够实现这一切的,是在每个中间件函数中使用async与await关键字
await.next()指当前中间件运行完毕后。进入下一个中间件
你可以在pv()里面自行写方法
最后在app.js中导入
const pv = require('./middleware/koa-pv')
app.use(pv())
koa与MongoDB数据库连接
先运行koa之后打开studio 3T(数据库可视化公交)连接上27017端口
在项目文件下安装mongoose
npm i mongoose
创建一个配置文件,对数据库进行一个配置
config.js配置如下:
module.exports = {
dbs:'mongodb://127.0.0.1.27017/dbs'
}
在dbs下创建一个models目录放置数据项
回到koa文件下的app.js
引入mongoos