问题标签 [koa]

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 回答
2234 浏览

node.js - 如何使用 koa 提出表单数据请求?

我正在尝试通过 koa 复制登录表单的行为。

登录表单执行以下操作:

<form id="loginForm" method="post" action="http://myaddress:3000/auth" enctype="multipart/form-data">

我正在使用koa 请求表单数据模块:

但我总是得到 400 响应。

我试过只使用form.submit(DB_SERVER_URL + 'auth', function(err, res) { ... }which 工作,但我喜欢 koa 的 yield 功能,理想情况下我想避免处理回调。

有任何想法吗?

0 投票
1 回答
414 浏览

heroku - socket.io-redis 和 heroku 中超出了最大调用堆栈大小

我正在尝试在我的应用程序中使用 socket.io。我看到我需要使用 socket.io-redis 来解决多个测功机的问题。但是当我尝试使用 redis-cloud 和 socket.io-redis 时,我不断收到“超出最大调用堆栈大小”。下面是我的代码

我的会话也使用 koa-session-redis

提前谢谢各位

0 投票
1 回答
1261 浏览

node.js - 为什么 PUT 请求正文未定义?

我正在向我的 koajs 服务器发出以下请求:

但是在服务器端this.request.body总是未定义的。

如果我将请求类型更改为 POST,它工作正常。

有任何想法吗?


编辑

我正在使用koa-route.


编辑 2

刚刚意识到我正在使用koa-body-parser,这可能更相关。

0 投票
3 回答
5878 浏览

javascript - 在 Koa 发送响应后运行代码

为了优化响应延迟,有必要在响应被发送回客户端之后执行工作。但是,在发送响应后,我似乎可以让代码运行的唯一方法是使用setTimeout. 有没有更好的办法?也许在发送响应后插入代码的地方,或者异步运行代码的地方?

这是一些代码。

0 投票
2 回答
2741 浏览

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

我正在使用 Koa、Passport.js 和 koa-session 对用户进行身份验证。所以它基本上看起来像:

这很好用。根据请求,我确实有req.user带有用户 ID 的 , 。但是在使用套接字时,我可以这样做:

但当然它只是加密的会话 ID,我如何反序列化用户并获取 user.id,就像我收到req.useron get 或 post 请求一样?

先感谢您。

0 投票
1 回答
1890 浏览

node.js - 如何在另一个生成器函数中访问 koa 上下文?

在 Koa 中,我可以通过以下方式访问第一个生成器函数中的 Koa 上下文this

但是,如果我屈服于另一个生成器函数,我将无法再通过它访问上下文this

我已经能够简单地将上下文传递给第二个生成器函数,但想知道是否有更简洁的方法来访问上下文。

有任何想法吗?

0 投票
2 回答
444 浏览

javascript - 如何不编码 unicode、javascript

我正在从一个 api 获取数据,并得到如下字符串:

现在我只做 JSON.parse(data),然后返回。但是,在前端,当渲染页面时,我得到了一些奇怪的字符,例如:

我想要的是逃避 \u00c3\u00a9r... 这些东西,只是为了在页面上显示

或者,对这些东西进行编码,因为我将使用这些电子邮件作为参数来做一些事情,但是由于这些奇怪的字符,我无法获得相同的电子邮件。

这有可能吗?

解决方案

我已经解决了这个问题,实际上我是从 sendgrid 的 api 获取无效的 useremail 列表,api 是

并得到如下返回数据:

所以首先我使用这个字符串 "j\u00c3\u00a9r\u00c3\u00b4mel\u00c3\u00a4ufer@com"

这将在网页上正确显示,然后当我想删除这封电子邮件并让这封电子邮件作为参数从 sendgrid 中调用 remove email api 时,例如:

身体是:

然后它起作用了,所以有人知道为什么吗?

0 投票
1 回答
479 浏览

node.js - 如何在 Openshift 中设置 KoaJS

我一直在关注如何在 openshif ( http://www.zev23.com/2014/04/openshift-harmony-nodejs.html ) 中启用自定义节点版本的示例,所以当我 ssh 到应用程序时,我可以看到安装了节点版本(0.11.14),但是当我查看日志时它说 app.use(function *(){...SyntaxError: Unexpected token *并且我收到 503 错误。

这是我的 server.js 文件:

我还在NODEJS_VERSION里面添加了 0.11.14

__ 更新 __

我已经使用 ssh 检查了服务器,它说节点 0.11.14 但是当我在我的实际 Web 应用程序启动之前添加这些行(见下文)时,它看起来就像它在节点 0.10.25 上运行并且在 .bash_profile 中设置的路径不是路径中使用的那个。

有没有办法在实际应用程序启动之前配置 PATH 所以它将使用 0.11.14 而不是 0.10.25

提前谢谢各位

0 投票
1 回答
966 浏览

couchdb - 单个容器中的 Node.js Koa 应用程序和 CouchDB

我有一个想要在 docker 容器中运行的 koa.js 应用程序。这个 loa 应用程序需要 couchdb 才能运行,我想将它放在同一个容器中。我知道这不是最佳实践,但它确实是我的用户入门的最佳方式。

Dockerfile:

效果很好,应用程序启动但无法连接到 couchdb。投入一个

以 OK 响应,所以它似乎有效,但是

回应

koa.js 应用程序也是如此:

有人知道我错过了什么或我做错了什么?

0 投票
1 回答
708 浏览

express - 如何在没有 renderToString 的情况下传递数据以响应 express 或 koa 的组件?

由于我使用了 reqwest 等客户端库,我无法使用 React 的服务器端渲染。但是,我想将一些数据传递给我的反应组件。有没有办法做到这一点?