前端全栈--nodejs 之koa2 路由以及get传参
发布于 2021-05-13 12:44 ,所属分类:区块连和PHP开发学习资料
koa2的路由和express中的路由有些不一样,express中的路由只需要直接引入即可使用,而koa2中的路由需要安装对应的路由模块
在使用router之前首先安装并且引入koa-router这个middlewarekoa-router这个middleware
npm install koa-router一 配置路由
//引入 koa模块const Koa = require('koa');const router = require('koa-router')(); //注意:引入的方式//实例化const app = new Koa();router.get('/', function (ctx, next) {ctx.body="Hello koa";})//ctx 上下文 context ,包含了request 和response等信息//配置路由router.get('/news,(ctx,next)=>{ctx.body="新闻 page"});//配置路由router.get('/',async(ctx)=>{ctx.body='首页'; /*返回数据 相当于:原生里面的res.writeHead() res.end()*/}).get('/news',async(ctx)=>{ctx.body="这是一个新闻页面"})app.use(router.routes()); //作用:启动路由app.use(router.allowedMethods()); // 作用:这是官方文档的推荐用法,我们可以看到 router.allowedMethods()用在了路由匹配 router.routes()之后,所以在当所有路由中间件最后调用.此时根据 ctx.status 设置 response 响应头app.listen(3000,()=>{console.log('starting at port 3000');});
二 使用get传参
在koa2中get传参使用request接受;接收的方式有两种query和querystring
query: 接收的是格式化好的参数对象
quertstring:接收的是请求字符串
const Koa = require('koa');const Router = require('koa-router');const app = new Koa();const router = new Router();router.get('/', function (ctx, next) {ctx.body="Hello koa";})router.get('/newscontent,(ctx,next)=>{let url =ctx.url;//从 request 中获取 GET 请求let request =ctx.request;let req_query = request.query;let req_querystring = request.querystring;//从上下文中直接获取let ctx_query = ctx.query;let ctx_querystring = ctx.querystring;ctx.body={url,req_query,req_querystring,ctx_query,ctx_querystring}});app.use(router.routes()); //作用:启动路由app.use(router.allowedMethods()); //作用:当请求出错时的处理逻辑app.listen(3000,()=>{console.log('starting at port 3000');});
以上就是关于koa2路由以及get传参的方法




![[Web开发合集] 基于Node.js平台的下一代Web开发框架-- Koa2框架 Koa2搭建网站的完美实战课程](https://static.kouhao8.com/sucaidashi/xkbb/bfbbd918a56bc6a7081bb53ce1a82347.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)




![[前端实战] 基于NodeJS+Express+mongoDB+Bootstrap的全栈式工程化开发前后端分离博客系统实战](https://static.kouhao8.com/sucaidashi/xkbb/d2ce6b870dc7d801d41572d997306226.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)











![[全套视频] 北风网 web全栈视频教程 前端全套视频教程](https://static.kouhao8.com/sucaidashi/xkbb/70d4b9f114bd46480d5aa16747689329.png?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)
![[全套视频] 北风网 web全栈视频教程 前端全套视频教程](https://static.kouhao8.com/sucaidashi/xkbb/dcb4e1691378075c85b048d637e60000.png?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)


![[全套视频] 北风网 web全栈视频教程 前端全套视频教程](https://static.kouhao8.com/sucaidashi/xkbb/4ce586735a8d0f478af328a4c83a6295.jpg?x-oss-process=image/format,webp/resize,w_88/crop,w_88,h_88,g_nw)




相关资源