问题标签 [koa-router]

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 投票
0 回答
124 浏览

typescript - 将无类型的 JavaScript 选项属性添加到声明的类

我正在使用来自definitelyTyped 存储库koa-router的类型声明。类声明不包含该属性的定义,这意味着尝试访问该属性将产生 TS2339 错误。opts

除了非类型化的解决方法之外,例如(routerObj as any).opts.<option>,如何使用 IRouterOptions 中的类型将此属性添加/扩展到现有定义?

*编辑*

我尝试了模块扩充,但没有成功:

并按照上面的文档位

这些都不起作用。我从 VSCode 得到的错误消息也很奇怪,这让我相信 TS 将我的扩充尝试和肯定类型定义视为独立定义:Property 'opts' does not exist on type 'import("/Absolute/Path/To/node_modules/@types/koa-router/index.d.ts")'.

但是,从 DefinitiveTyped 定义中扩充另一个接口确实有效:

这将产生一个TS2322: Type '{}' is not assignable to type 'IRouterOptions'. Property 'requiredVar' is missing in type '{}'.

0 投票
2 回答
6639 浏览

javascript - 如何使用 Koa nodejs 创建发布请求

我刚刚开始Koa并使用以下代码进行了基本设置

现在,当我点击请求时,http://localhost:8080我会在ctx.query.

问题:如何使用 koa 框架提出请求postget

编辑:我现在已经实现了 Koa-router

问题还是一样的。我可以提出get要求,但不能提出要求post

0 投票
1 回答
303 浏览

passport.js - 如何封装 Koa-Passport?

也许这有一个非常简单的答案,但我的代码有些问题。这就是我想要做的。

我使用 koa-passport 创建了一个 koa2 应用程序,我想将 Passport 的使用封装在一个类 AuthAdapter 中(以下简称)。

我有一个 API 类并声明了如下路由:

...我的API


现在的问题是: setup 和 setupRoutes 被正确调用。Passport verify 正在执行,authroute 方法也在执行。

我的问题是 myGetterMethod 不是。

我的怀疑是,通过封装passport.authenticate,“返回”没有按应有的方式运行。

那应该如何实施?等待?

更新:感谢下面的答案,确实是解决方案,所以我的方法最终是这样的:

0 投票
2 回答
3560 浏览

javascript - 为什么我不能从 Koa 路由器提供静态文件?

为什么在以下情况下koa-static无法使用koa-router

我制作了这个 GitHub 存储库来演示这个问题:koa-router-static-issue

0 投票
1 回答
291 浏览

javascript - 每个 Koa 路线的 404(打字稿)

问题
  • 设置身份验证控制器
  • 使用 Bcrypt 和 JWT
  • 所有对 Koa 404ing 的 POST 调用
  • 呼叫其他路线正常
  • 可能是代码范围的问题。

我没有努力生成密码或将用户保存到数据库,并且我正在从控制器将数据接收到服务器中,唯一的事情是我的服务器除了 404 错误之外没有发回任何内容。

0 投票
1 回答
112 浏览

node.js - module.exports = ({}) 与 {}

我使用 Koa 中间件,在某些代码中我在路由器中使用此代码:

如果我做:

nodejs 应用程序引发错误。那么除了错误部分之外,这两个不同的导出之间有什么区别?

0 投票
1 回答
779 浏览

javascript - 使用 PUT 方法时 body 不使用 Koa 传递

我正在尝试制作更新功能,用户可以在其中放置新数据并且服务器中的数据将得到更新,这是一项简单的任务,但是,当我尝试 PUT 新数据时,正文始终未定义。

发送的数据:

现在我尝试使用其他方法而不是 RAW 方法将它作为键传递,这就是我试图传递的身体内部的内容:

这是应该更新数据的函数,但它从 put 请求中未定义。

我正在使用邮递员,Body -> Raw | JSON,我不得不提到所有其他方法都可以正常工作 - 删除、创建、getAll、getById

0 投票
0 回答
832 浏览

node.js - 如何让 koa-router 正确匹配路由

所以我正在koakoa-router

我有一个使用 mongo 作为数据库的 api,并且我有一些这样的端点设置:

但是,当我运行时GET/author/:authorId/books我在日志中看到了这个错误:

传递给 Mongo 以搜索作者的字符串是这样的:

使用完整koa-router路径/author/:authorId(包括/books.

我该如何防止这种情况?

我知道,如果我首先注册更具体的端点,它会起作用,但我不想担心我注册端点的顺序,这会产生一个非常脆弱的解决方案

编辑

添加实现getAuthorById

0 投票
1 回答
1937 浏览

javascript - how to use async and await in koa?

I have a created a simple login api but i'm getting 404 error. How i can solve this issue? My ctx body is not working. When i hit on postman it throws not found.

0 投票
2 回答
720 浏览

node.js - 结合 Typescript Koa-Router 和 Passport

我是 Typescript 的新手,正在尝试集成koa-routerkoa-passport. 全部安装@types\

当我尝试passport使用router.

上下文(ctx)方法有错误

我尝试了不同的方法,但没有成功。感谢任何帮助。