问题标签 [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 投票
2 回答
246 浏览

node.js - KOA2 中没有定义路由器

我有两个文件,其中一个是 app.js,另一个是 api.js。在我的第一个文件中:

在 api.js 我有:

当我运行该项目时,会抛出一条错误消息:未定义路由器。

但是如果我把两个文件写在一起,应用程序就可以了。

有人知道这个问题吗?

我已经解决了var Router = require('koa-router')

0 投票
0 回答
289 浏览

javascript - 为什么报错会导致koa应用停止

这是我使用的代码

auth.js

index.js

错误信息

./../../koa-passport-example/server.js:53 throw new TypeError('error test') ^ TypeError: 错误测试

我需要如何修改中间件来修复它?有更好的方法来完成此认证吗?

0 投票
2 回答
5067 浏览

ajax - 发送 POST 请求时 Koa-Bodyparser 错误“无效 JSON,仅支持对象和数组”

我正在尝试向我的 koa 应用程序发送带有一些参数的 Ajax POST 请求,但是每次执行请求时,我都会从 koa-bodyparser 收到这个奇怪的错误:

错误:无效的 JSON,仅在 /home/denis/WEB/nodejs/ 解析时支持对象和数组 (/home/denis/WEB/nodejs/kinfs/node_modules/co-body/lib/json.js:55:13) kinfs/node_modules/co-body/lib/json.js:41:16 at process._tickCallback (internal/process/next_tick.js:103:7)

在客户端,我将此错误打印到浏览器控制台:

jquery-1.12.3.js:10261 POST http://localhost:3000/api/v1/books 400(错误请求)

我像这样发送通常的 jquery ajax 请求:

处理请求的代码如下:

发送 GET 请求工作正常,但是当我尝试发送 POST 请求时,我收到上述错误。

这是另一件事:

当我没有content-type在我的 Ajax 请求中指定时,不会出现错误。Insted,我将它打印到 node.js 控制台(注意中的console.log调用api.post(...)):


我似乎不明白这里发生了什么以及为什么会出现这样的错误。

您能否解释为什么会出现此类错误并帮助我解决该问题?

0 投票
2 回答
2587 浏览

node.js - Mongoose async/await with Koa 卡在 await Model.findOne().exec()

我有一个 Koa 2 应用程序,发到 /signup 的帖子由这个函数处理:

该函数接收到正确的数据,但await User.findOne().exec();永远不会返回并卡住。

我认为问题就在那里,因为如果我删除,代码会正常执行。如果我切换到 Promise 之类的......find().then它也可以。async/await 也可以工作,因为如果我更改为 await fetch() (模拟异步)它可以工作......但这是我的 babel 配置

猫鼬是版本 4.7.0

0 投票
1 回答
1114 浏览

javascript - 构造函数中的异步函数

我正在尝试在构造函数中使用异步调用导出一个类:

my.js

db.js

之后let my = new My(), my.db 仍然是空的。如何等待 init() 完成?

0 投票
1 回答
1279 浏览

long-polling - Koa 2路由器如何发出长轮询请求

我想提出一个长池请求。所以我想在延迟一段时间后接受请求并发送响应。可能吗?

我正在尝试使用 async/await 语法,但它对我不起作用(我在客户端收到错误 404)

非常感谢您的帮助。

这是我的服务器

app.listen(3000);

0 投票
0 回答
352 浏览

node.js - multer TypeError中的koa2:fn.apply不是函数

我正在研究 koa2 使用Multer将图像发布到服务器。

我的用法就像它显示的文件一样

我的代码

0 投票
1 回答
1874 浏览

node.js - NODE JS - TypeError:路径必须是字符串。收到{请求

大家好(和女孩)^^

我正在使用 koa2、koa-router、koa-static(尝试..)并且没有 koa-send ......但没有任何工作,我需要你的帮助。:D

所以事实上,我的 js 文件没有找到......我有这个......

所以我安装了 koa-static 并这样做了:

但是出现了这样的问题:

我不记得我尝试过什么,但没有任何效果...... 3 小时后,我决定换成 koa-send !

所以我安装了新包,并从示例中对其进行了编码......

现在我得到...

感谢stackoverflow因为声誉而用2个链接锁定我......所以这里是所有东西的代码...... http://pastebin.com/Gmvg5r9F

有人有想法吗?我怎样才能使这个功能?我很绝望……如果你有答案,请……^_^

祝大家新年快乐:p

编辑:package.json 如果你需要:“http://pastebin.com/cBg73WAF

EDIT²:Srsly,我已经尝试了每个包,但没有任何效果......我的项目实际上被阻止了......

0 投票
1 回答
2751 浏览

javascript - 如何在 koa 2 中读取 ctx.request.body(没有 body-parser)?

我想ctx.request.body从没有正文解析器中间件的帖子中阅读。

使用curl -X POST -H "Content-Type: application/json" -d '{"key":"val"}' 'http://localhost:8080/publish'我得到 3 个未定义。

我该如何解决这个问题?我知道 koa 无法解析req.body,但为什么不起作用JSON.stringify(ctx.request.body)

0 投票
2 回答
804 浏览

node.js - koa-static 进入下一个中间件

我有一个 koa 2 服务器。

以下代码是我的中间件:

一切正常,但我的问题是,当我转到服务器所在的localhost:8000时,在控制台中我看到以下错误:

InternalServerError:Object.throw 的内部服务器错误(/Users/work/Desktop/server/node_modules/koa/lib/context.js:91:23)

我怀疑在静态之后,应用程序将进入下一个中间件,即错误中间件。

PS。如果我在其他路线上遇到错误,我正在使用app.use( async ctx => ctx.throw(500) ), 来调用。next()

有谁知道如何解决这一问题?

谢谢!