koa2+koa-router以及koa脚手架的使用(koa-generator)

本文详细介绍了Koa2的基础,包括安装、基础用法和获取请求数据。重点讲解了Koa-router的安装、get和post请求的处理,以及动态路由的概念。此外,还介绍了koa-generator,一个用于快速搭建Koa2项目结构的脚手架,包括其安装和使用步骤,帮助开发者快速启动Node.js服务器。
摘要由CSDN通过智能技术生成

Koa2基础

安装

1.初始化项目

npm init -y
//-y是初始项目默认所有都是yes,若想另外设置可以直接npm init

2.安装koa2

npm i koa --save

基础用法

1.在文件目录下新建一个index.js,然后写下如下代码:

const Koa = require('koa')
const app = new Koa()

app.use( async(ctx) => {
   
    ctx.body = "hello world"
})
app.listen(3000)

如果想使用import、export用法需要安装babel进行转编译(“babel-core(包括了整个babel工作流)”,“babel-preset-env(比babel-preset-latest好)”,)注意其版本号的对应

babel-loader 8.x | babel 7.x
npm install  --save-dev babel-loader @babel/core @babel/preset-env 
babel-loader 7.x | babel 6.x
npm install  --save-dev babel-loader@7 babel-core babel-preset-env

具体babel的使用可以看看这里

2.运行这个文件:

nodemon index.js

Nodemon,它会监测项目中的所有文件,一旦发现文件有改动,Nodemon 会自动重启应用
3.打开浏览器,输入 http://127.0.0.1:3000 ,看到页面内容有hello world则成功。

4.koa中会经常使用async和await的用法(es7)的内容,如果还没了解过的同学建议去了解学习一下先。


function a(ctx){
   
	return ctx++;
} 
async function test() {
   
	let text = await setTimesout(a(1),1000);
	console.log(text)
}
console.log('start')

5.koa属性
app.listen(…)

app.listen(3000)
//Koa 应用程序被绑定到 3000 端口

app.callback()
返回适用于 http.createServer() 方法的回调函数来处理请求。你也可以使用此回调函数将 koa 应用程序挂载到 Connect/Express 应用程序中。

app.use(function)
将给定的中间件方法添加到此应用程序。参阅 Middleware 获取更多信息.

app.keys=
设置签名的 Cookie 密钥。
这些被传递给 KeyGrip,但是你也可以传递你自己的 KeyGrip 实例。
例如,以下是可以接受的:

app.keys = ['im a newer secret', 'i like turtle'];
app.keys = new KeyGrip(['im a newer secret', 'i like turtle'], 'sha256');

app.context
app.context 是从其创建 ctx 的原型。您可以通过编辑 app.context 为 ctx 添加其他属性。这对于将 ctx 添加到整个应用程序中使用的属性或方法非常有用,这可能会更加有效(不需要中间件)和/或 更简单(更少的 require()),而更多地依赖于ctx,这可以被认为是一种反模式。

例如,要从 ctx 添加对数据库的引用:

app.context.db = db();

app.use(async ctx => {
   
  console.log(ctx.db);
});

获取请求数据

2.1 Get请求的接收
在Koa2中GET请求可以通过 request 接受收,但接受的方式有两种:

  • query:返回的是格式化后的参数对象
  • querystring:返回的请求字符串

我们可以由两种方式来获取GET请求,一种是通过 ctx.request 来获取GET请求࿰

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值