关于koa框架

安装

官网介绍:
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框架_第1张图片
对应命令:
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

如果提示

[email protected] requires a peer of ajv@^6.0.0 but

.字眼,则重新安装npm i ajv@^6


koa异步(async 和 await)

我们这里举个小栗子
在router下的index.js文件创建一个测试接口,

这里注意,async下可以不用await,但如果存在await则必须要有async。
关于koa框架_第2张图片
保存后查看
关于koa框架_第3张图片
控制台看服务端响应时间为1s左右关于koa框架_第4张图片

  1. await关键字必须紧跟async关键字后面,不能单独出现;
  2. await关键字后面必须紧跟一个promise对象,如果不是,则系统会强制转化为promise;
  3. 如果存在多个await调用,则按照它们出现的顺序依次向下执行

koa中间件

koa2中间件的使用原理,如同你贯穿一个洋葱,一层一层下去,最终还是会穿过初始的那一层,所以在引入时可以无序,但在使用’use’调用时,会按照顺序执行。能够实现这一切的,是在每个中间件函数中使用async与await关键字
关于koa框架_第5张图片
await.next()指当前中间件运行完毕后。进入下一个中间件
你可以在pv()里面自行写方法
关于koa框架_第6张图片
最后在app.js中导入

const pv = require('./middleware/koa-pv')
app.use(pv())

koa与MongoDB数据库连接

先运行koa之后打开studio 3T(数据库可视化公交)连接上27017端口
关于koa框架_第7张图片
在项目文件下安装mongoose

npm i mongoose

创建一个配置文件,对数据库进行一个配置

关于koa框架_第8张图片

config.js配置如下:

module.exports = { 
	dbs:'mongodb://127.0.0.1.27017/dbs'
 }
 

在dbs下创建一个models目录放置数据项

关于koa框架_第9张图片

回到koa文件下的app.js
引入mongoos
关于koa框架_第10张图片
关于koa框架_第11张图片

你可能感兴趣的:(日常记录)