问题标签 [koa2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
3462 浏览

javascript - 如何在 KOA 2 中编写异步中间件

我想解决一个承诺,然后在 Koa 2 中呈现这样的视图。

但是,当我这样做时,服务器不会发送任何响应(浏览器一直在等待响应,然后超时)。我究竟做错了什么?

0 投票
1 回答
1294 浏览

javascript - koa.js 注册后返回 404“未找到”,而不是来自 ctx.body 的令牌

我无法token使用 xhr 代理supertestpostman. 在我注册我的用户之后。

我正在尝试从正文中获取 jwt,以便我可以发出经过身份验证的请求,但由于某种原因,我不断收到“未找到”。

请看我的代码..

报名路线

路由最重要/signup的是,如果我在signUp可以访问ctx.response.body传递的中间件之后添加一个中间件,signUp但我不能发布它。或者我不知道怎么做

signUp 中间件

我应该提到,这很好地保存了数据,当我签入数据库时​​,数据就在那里,console.logs在下ctx.response.body一个中间件中也signUp显示生成的令牌。

我使用以下代码测试/注册:

我的错误的完整堆栈跟踪是:

仅在测试中,但使用邮递员工作正常。有什么我做的不对吗?

我正在使用koa: 2.0.0,supertest: 2.0.1和路由koa-rest-router: 1.0.0

请帮忙!谢谢。

0 投票
1 回答
828 浏览

node.js - Koa 中间件类型定义需要一个中间件成员导出

我正在将 koa 与 Typescript 一起使用。我还使用了 koa 中间件 koa-static 和 koa-bodyparser。我有类型定义包@types/koa@types/koa-bodyparser@types/koa-static安装。当我运行时,tsc我收到以下错误:

ERROR in [default] ./node_modules/@types/koa-bodyparser/index.d.ts:69:8 Namespace 'Koa' has no exported member 'Middleware'.

ERROR in [default] ./node_modules/@types/koa-static/index.d.ts:45:8 Namespace 'Koa' has no exported member 'Middleware'.

我怀疑这个错误与我自己的代码有关。任何帮助表示赞赏。

0 投票
1 回答
615 浏览

javascript - 这个未定义:可能与生成器异步问题

我是'client' undefined从我用于 firebase 休息事务的库中获取的,我很确定我以前使用过它没有问题。当我查看库时(intellij websphere 调试器将我带到一个打字稿文件,必须了解地图),我看到this.client......在我正在调用的类方法中,所以这绝对应该被定义。

所以然后我抓住了一个不同的库,它恰好是一个文件,所以我可以直接把它放在我的 src/ 文件夹中,(当周围有其他破碎的轮子时,为什么要修理一个平面,对吧?)和..同样的事情(只是这次是this.url因为不同的图书馆)。

基本结构确实有效,因为:(将注释代码与内联 Promise 进行比较)

这个承诺很好用。我点击了我的 api url,然后{"foo":"bar"}一秒钟。控制台不显示undefined this,它报告inner this: [object Object]

所以这是完整的两个文件(该片段来自 firebaseDb.js,下面不会显示,因为它只是一个演示):

firebaseDb.js

restful-firebase.js

(修改了 npm i rest-firebase,接受 tx 调用中的路径,对调试没有使用严格):

可能涉及的一些“魔法”:

我的.babelrc

我的 gulpfile:

那些对 restful-firebase.js 这样做的人:

特别是未定义的代码部分this,引发错误的是第 3 行:

0 投票
3 回答
4674 浏览

node.js - Koa每次发送状态404是

Koa 每次发送 404 状态和空身体,我做错了什么?

0 投票
1 回答
8654 浏览

node.js - 如何使用 koajs 发送 http 响应

我正在尝试通过 facebook 验证 webhook。所以facebookmy-url/facebook/receive在我的nodejs路由中点击了我的url,我会res.send(req.query['hub.challenge']);发送一个http响应。

我正在使用 KoaJS。据我了解,Koajs 将请求和响应对象合并到,ctx但是在阅读文档时,我找不到任何ctx.send类似或类似的东西来发送 http 响应。

谁能给我一些方向或链接。

谢谢。

0 投票
2 回答
8102 浏览

koa - 为什么我们在使用 koa 路由器时要等待 next?

我们为什么要做这个

有什么用await next()

如果没有它,它会工作得很好。koa 1. 预计会有类似的事情yield next在路由器的末尾添加。

0 投票
2 回答
52 浏览

koa - 这个 Koajs 错误什么时候会发生

我试图让我的头脑围绕 Koa,我正在取得一些小进步。目前我想我理解这段代码

我们没有使用回调来处理错误,而是上游到那个捕获。但我想让上面的错误执行。

如何模拟错误

0 投票
2 回答
521 浏览

koa - Koa2 相同的路线不同的参数

我有两个端点:

按 ID 获取所有用户

通过用户名获取所有用户

我可以在同一条路由上发送不同的参数吗:

谢谢你的帮助!

0 投票
1 回答
2083 浏览

javascript - 如何从 http.request 获取响应正文作为 koa 的 ctx.body?

我正在学习Node.js,由于某种原因我需要设置一个http.request到另一个ip,并从中获取响应并应用于koa的ctx.body。我写了这样的代码:

学习使用控制器映射并且它有效,并且 resData 是正确的数据。但是从网页执行“GET /refreshDataGet”时,我只能得到“状态 0”。如果我不做http.request,直接将一个JSON对象应用到ctx.body,就可以在网页上得到正确的状态和数据。我错过了什么?或者有更好的解决方案来解决这个问题?

谢谢!!


编辑:返回 404,如果手动设置为 200,则在响应正文中找不到任何内容。但是里面的调试打印是正确的

res.on('end', function(){})