jjzjj

javascript - Koa@2 错误处理

我正在使用Koa构建API。我使用koa-router设置了所有路由。每个路由都使用一个Controller,该Controller具有给定Mongoose模型的所有逻辑。我读过Koadocsonerror-handling并理解await在try/catchblock中的使用。他们在那里提到一个默认错误处理程序应该设置在中间件链的开头。因此,如果我有类似下面的内容,我应该在router.get()处对路由进行合理的错误处理:constKoa=require('koa');constRouter=require('koa-router');constapp=newKoa();const

javascript - 获取用户id socket.io, passport, koa

我正在使用Koa、Passport.js和koa-session对用户进行身份验证。所以它基本上看起来像://sessionvarsession=require('koa-session');app.keys=[config.secret];app.use(session());//authrequire(__dirname+'/lib/auth');//de/serializeUser,strategiesetc..varpassport=require('koa-passport');app.use(passport.initialize());app.use(passport.s

javascript - 在 koa.js 中访问请求的原始主体

我已经使用io.js和koa.js创建了一个API。作为主体解析器中间件,我使用koa-body,它又使用co-body。在我的一个API端点上,我收到了POST请求,我需要访问请求的原始主体,因为我需要对其进行编码以验证请求是否有效。有什么方法可以访问请求的原始主体吗?我尝试使用raw-body中间件,但是如果我在调用koa-body之前使用它,co-body在koa-body中断。如果我在koa-body之后使用它,它就不起作用。app.use(function*(next){letrawRequestBody=yieldrawBody(this.req);this.rawRequ

javascript - koa-cors 和 Access-Control-Allow-Credentials 的问题

我有这个错误XMLHttpRequestcannotloadhttp://127.0.0.1:1337/.Responsetopreflightrequestdoesn'tpassaccesscontrolcheck:Thevalueofthe'Access-Control-Allow-Credentials'headerintheresponseis''whichmustbe'true'whentherequest'scredentialsmodeis'include'.Origin'http://localhost:63342'isthereforenotallowedaccess

javascript - 使用 'koa-router' , app.use(router(app)) 抛出 "requires a generator function"错误信息

varapp=require('koa')();varrouter=require('koa-router');app.use(router(app));抛出这个错误:AssertionError:app.use()requiresageneratorfunction很多示例代码都说要以这种方式设置koa-router。据推测,它向koa应用程序添加了方法。 最佳答案 koa-router包在几个月前发生了变化,并删除了扩展应用程序对象的功能,正如您在上面编码的那样......它曾经以这种方式工作,但这是一个重大变化:http://

javascript - Koa.js - 提供静态文件和 REST API

我是koa.js库的新手,我需要一些帮助。我正在尝试使用koa制作简单的REST应用程序。我有一个静态html和javascript文件,我想在路由/上提供服务,并从/api/访问RESTAPI。这是我的项目目录树:project├──server│  ├──node_modules│  ├──package.json│  └──src│  ├──config│  ├──resources│  └──server.js├──ui│  ├──app│  ├──bower.json│  ├──bower_components│  ├──dist│  ├──node_modules│  ├─

javascript - 在 Koa 请求处理程序中触发下载

我正在尝试使用koa-router从Koa中的POST请求处理程序触发下载。本质上,我正在尝试做这样的事情:app.jsconstKoa=require('koa')constrouter=require('./router')constapp=newKoa()app.use(router.routes())app.use(router.allowedMethods())app.listen(3000)router.jsconstfs=require('fs')constRouter=require('koa-router')constrouter=newRouter()router.

javascript - Koa 的 `ctx.status` 没有发送给客户端

这是我的简单路线:router.post('/getFile',async(ctx)=>{constfileName=`${ctx.request.body.file}.pdf`;constfile=fs.createReadStream(fileName);//Thisfilemightnotexist.file.on('error',(err)=>{ctx.response.status=500;//Thisstatuscodedoesn'tmakeittoclientwhenthere'sanerror.});ctx.response.type='application/pdf'

javascript - 如何处理 Koa 2 中的 404?

我有一个404.jade文件,每当有无效的GET请求时我都想渲染它。这是我当前的代码:app.jsimportKoafrom'koa'importviewsfrom'koa-views'importservefrom'koa-static'importrootRoutesfrom'./routes/index'importuserRoutesfrom'./routes/user'constapp=newKoa()app.use(views(`${__dirname}/views`,{extension:'jade'}))app.use(serve(`${__dirname}/publi

javascript - 如何使用 Koa 解析 multipart/form-data 主体?

因为我花了一些(太多)时间来弄清楚这个简单的需求。我在这里记录了使用Koa实现multipart/form-data主体解析的方法。就我而言,造成困惑的原因是可用的替代品数量:koa-bodykoa-better-bodykoa-body-parserkoa-bodyparser我想找到最简约/最接近express/koa/node的做事方式/哲学。原来如此。以下。在接受的答案中。希望这会有所帮助。 最佳答案 你必须使用koa-multer正如官方所说Koawiki.所以一个简单的设置应该是这样的:constkoa=require(