草庐IT

Node框架 【Koa】开发框架、路由

文章目录🌟前言🌟开发框架🌟应用程序🌟应用程序Koa类🌟应用对象(app)的方法🌟app.use(function)🌟app.listen(...)🌟应用程序设置🌟上下文(Context)🌟路由🌟koa-router🌟安装🌟Router类🌟router.prefix(prefix)🌟router.routes()🌟基本使用🌟请求方式🌟路由参数🌟设置路由前缀🌟路由模块化🌟写在最后🌟前言哈喽小伙伴们,新的专栏Node已开启;这个专栏里边会收录一些Node的基础知识和项目实战;今天我们继续带大家了解Node的框架Koa;让我们一起来看看吧🤘🌟开发框架🌟应用程序🌟应用程序Koa类Koa应用程序是一个包含

node.js - koa:mongodb/redis 事件连接计数不断增加

我正在使用中间件像这样传递我的mongodb/redis客户端实例:function*middleware(next){//allowdownstreamtohandledbconnectionerrorgracefullytry{this.db=yieldmongodb.apply(this);}catch(err){this.db=false;this.app.emit('error',err,this);}try{this.redis=yieldredis.apply(this);}catch(err){this.redis=false;this.app.emit('error'

node.js - 如何获取 Koa 服务器 url 路由列表

我正在使用koajs开发一个模拟服务器,我想发布一个列出已开发API的服务。我使用koa-router进行mouting服务。我想要一些像这样的想法:varbusiness_router=require('./controllers/router');app.use(business_router.routes());app.use(business_router.allowedMethods());console.log(app.listRoutes()); 最佳答案 虽然我猜它不是官方koa-routerAPI的一部分,你可以这

javascript - Koa框架中JavaScript函数定义中的星号(*)是什么意思?

这个问题在这里已经有了答案:Whatis"function*"inJavaScript?(4个答案)关闭8年前。我一直在熟悉Koa(http://koajs.com/)。许多例子都用星号代替了函数名。例如在HelloWorld的例子中有:varkoa=require('koa');varapp=koa();app.use(function*(){this.body='HelloWorld';});app.listen(3000);这颗星是什么意思?

session - koa, session ,redis : how to make it work?

我正在尝试使用koa、koa-session、koa-redis通过服务器端session实现Firebase身份验证。我只是无法理解它。在阅读koa-session自述文件时,这对我来说特别神秘(link):Youcanstorethesessioncontentinexternalstores(Redis,MongoDBorotherDBs)bypassingoptions.storewiththreemethods(theseneedtobeasyncfunctions):get(key,maxAge,{rolling}):getsessionobjectbykeyset(key

javascript - 如何正确使用 Redis 与 Koa (node.js)

我尝试从Redis数据库中获取信息并将其作为响应正文返回给用户。首先,这是一个失败的代码:varredis=require("redis"),koa=require("koa");varapp=koa(),port=process.argv[2]||3000,client=redis.createClient();app.use(function*(next){client.get("test",function(err,res){this.body=res;});yieldnext;});app.listen(port);console.log("listenonport"+port

node.js - 在 koa 中使用 express 中间件

我有实现快速中间件的现有代码。如何在Koa应用程序中使用这个中间件?当我尝试调用app.use(expressMiddleware)以在我的Koa应用程序中使用中间件时,Koa提示说需要生成器函数:AssertionError:app.use()requiresageneratorfunction所以我猜这里需要某种适配器或技巧......想法? 最佳答案 另外,你可以试试koa-connect:https://github.com/vkurchatkin/koa-connect看起来很简单:varkoa=require('koa'

javascript - 请求正文在 KOA 中未定义

我有KOA如下所示:varkoa=require('koa'),bodyParser=require('koa-body-parser'),router=require('koa-router'),app=koa();app.use(router(app));app.use(bodyParser());app.post('http://localhost/get',getit);function*getit(){console.log(this.req.body);//undefined}然后通过jqueryajax发送一个帖子请求:varxhr=$.ajax({type:'POST'

node.js - 我可以在自定义(例如/static/)路径中使用 koa-static 服务 Assets 吗?

https://github.com/koajs/static上的文档以及我尝试koa-static的个人经验使我相信您可以仅从应用的根URL提供文件。例如:app.use(serve('./some/dir/'));鉴于上述对serve的使用,访问文件./some/dir/something.txt的URL将是localhost:3000/something。txt。似乎没有办法配置我的应用程序,以便在localhost:3000/static/something.txt上提供相同的文件(以及同一目录中的所有其他文件)。我是Node和Koa的新手,所以我刚刚开始深入研究,我可能遗漏了

javascript - Koa路由器: How to get query string params?

我正在使用koa-router。如何获取请求的查询字符串参数?这是我写的最好的:importkoaRouterfrom'koa-router';constrouter=koaRouter({prefix:'/courses'});router.get('/',async(ctx)=>{console.log(ctx.qs["lecturer"]);});但qs未定义任何帮助将不胜感激! 最佳答案 根据文档,应该有一个ctx.request.query是表示为对象的查询字符串项。 关于ja