问题标签 [next-connect]
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.
typescript - 没有重载匹配此调用。使用`next-connect`和`next-iron-session`时出现TypeScript错误
我有一个使用next-connect
&的项目next-iron-session
。
next-connect
默认使用<NextApiRequest, NextApiResponse>
& 我使用<NextIronRequest, NextApiResponse>
where
但我无法通过<NextIronRequest, NextApiResponse>
喜欢nc
:
这应该可以解决我的问题,但它给了我错误:
预期 0 类型参数,但得到 2.ts(2558)
我的handler()
函数出现过载错误,例如:
我在每种方法上都收到 2 个错误,说:
没有重载匹配此调用。重载 1 of 2,'(...handlers: RequestHandler[]): NextConnect',给出了以下错误。'string' 类型的参数不能分配给'RequestHandler' 类型的参数。Overload 2 of 2, '(pattern: string | RegExp, ...handlers: RequestHandler[]): NextConnect',给出了以下错误。'(req: NextIronRequest, res: NextApiResponse) => Promise' 类型的参数不可分配给 'RequestHandler' 类型的参数。参数“req”和“req”的类型不兼容。类型“NextApiRequest”不可分配给类型“NextIronRequest”。“NextApiRequest”类型中缺少属性“会话”,但在“AppSession”类型中是必需的。ts(2769)
没有重载匹配此调用。重载 1 of 2,'(...handlers: RequestHandler[]): NextConnect',给出了以下错误。'string' 类型的参数不能分配给'RequestHandler' 类型的参数。Overload 2 of 2, '(pattern: string | RegExp, ...handlers: RequestHandler[]): NextConnect',给出了以下错误。'(req: NextIronRequest, res: NextApiResponse) => Promise' 类型的参数不可分配给 'RequestHandler' 类型的参数。参数“req”和“req”的类型不兼容。类型“NextApiRequest”不可分配给类型“NextIronRequest”。类型“NextApiRequest”不可分配给类型“AppSession”.ts(2769)
我该如何解决?
我的完整复制在这里→ https://github.com/deadcoder0904/twitter-api-v2-3-legged-login-using-next-connect
node.js - TypeError:解析器不是`next-connect`中的函数
我有一个使用next-connect
&的项目twitter-api-v2
。
我有一个handler
调用 2get
条路线,例如:
handler
看起来如下:
我认为我做得next-connect
对,但是当我尝试在客户端执行简单操作时为什么会出现错误,fetch
例如:
后端给出以下错误:
我做了一个完整的复制→ https://github.com/deadcoder0904/twitter-api-v2-3-legged-login-using-next-connect
我想要做的就是使用twitter-api-v2
. 步骤在https://github.com/PLhery/node-twitter-api-v2/blob/master/doc/auth.md上给出
我该如何解决这个问题?
node.js - 请求的资源上不存在“Access-Control-Allow-Origin”标头。使用 next-connect 时出现 Next.js CORS 错误
我正在尝试cors
在 Next.js 中使用next-connect
. 但是,我无法使其工作。
这是我的cors
代码:
FWIW,我已经尝试过 StackOverflow 上提到的所有其他解决方案,例如https://stackoverflow.com/a/35317615/6141587
我也尝试过安装cors
&之类的软件包,nextjs-cors
但遇到了同样的错误:
访问从源“http”获取“https://api.twitter.com/oauth/authorize?oauth_token=xxxxxxxxxxxx”(重定向自“http://localhost:3000/api/twitter/generate-auth-link”) ://localhost:3000' 已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。
我在这里有一个 Github 复制品 → https://github.com/deadcoder0904/twitter-api-v2-3-legged-login-using-next-connect(请参阅cors的最新提交)
我检查了网络的选项卡,但没有看到那里设置标题。我也添加了console.log('cors')
,但它没有打印在那里。
server/api-route.ts
我猜根本没有调用中间件文件。
我需要那个文件是中间件。我该如何解决?
reactjs - Next.js 路由与子路由的“next-connect”
在我的项目中,我使用包Next.js
创建了一个类似快递的route->middleware->endpoint
模式。next-connect
我有这个路线模式:
在我的pages/api/tours/index.js
文件中,我添加了一条路由来捕获 api/tours 和所有其他子路由,例如 api/tours/top-5-cheap。根据文档,这应该有效。但是只有 api/tours 可以正常工作,对 api/tours/subroute 的任何请求都会给出一个page not found error.
Docs: next-connect
我希望能够从pages/api/index.js
文件中捕获对 api/tours 和 api/tours/subroute 的所有请求,而不是为每个子路由创建一个文件 欢迎提出任何建议或帮助
javascript - 在下一个连接中链接中间件失败并出现错误处理程序
我有以下两个中间件功能:
我尝试在下一个连接设置中使用它们,pages/api
我在其中定义了 onError 和 onNoMatch 选项:
问题:
只有第一个中间件执行(在服务器控制台上打印 'header OK!')。validateEmail 中的控制台从不打印。当我在下一个连接选项中定义的 onError 处理程序中控制台错误时,它看起来像请求对象,即。它包含带有电子邮件有效负载的正文。
调用路由会导致 500:返回内部服务器错误(在 onError 处理程序中定义)。
这个设置有什么问题?
使用的版本:
“下一个”:“11.1.2” “下一个连接”:“0.10.2”
node.js - Next Connect with-passport-and-next-connect and mongoose: req.user is undefined
我正在使用 Next.js 并成功添加了 passport.js,从而在成功登录后让用户返回。\0/
但是我想要的是req.user可用于我的api/user路由...
在中间件/auth.js 中的这个示例仓库中
use.()
它在下面的函数中提到...
Initialize mocked database 添加自己的数据库后删除它
这是我的api/user
路线:
我的理由是 repo 也有一个钩子,它调用/api/user
路由来查看req.user 是否存在......
根据 repo 的内容,您应该能够通过在文件中设置数据库来获取req.usermiddleware/auth
,您将如何执行此操作并因此在api/user路由中获取它?
node.js - 尝试使用 next-connect 在 Next.js 中从 http://localhost:3000 重定向到 https://api.twitter.com 时出现 CORS 错误?
我正在努力redirect
工作,但总是被控制台中的错误轰炸:
访问 'https://api.twitter.com/oauth/authenticate?oauth_token='(重定向自 'http://localhost:3000/api/auth/twitter/generate-auth-link')从 origin 获取http://localhost:3000' 已被 CORS 策略阻止:请求的资源上不存在“Access-Control-Allow-Origin”标头。如果不透明的响应满足您的需求,请将请求的模式设置为“no-cors”以获取禁用 CORS 的资源。
我确实在同一个问题上看到了其他答案,事实上,我刚刚发现我在 2 个月前问了同样的问题,但是这个问题适用于打开一个弹出窗口并在那里进行重定向,这个人想要重定向同一页面本身。
我也尝试了相同的答案,但它不起作用并且它仍然给我这个代码的cors错误:
我也尝试使用此代码:
但这也不起作用。
我的 oauth 流程是这样的:
点击登录 http://localhost:3000 → 转到https://api.twitter.com/oauth/authenticate?oauth_token=xxxx → 重定向回 http://localhost:3000
相同 oauth 流程的代码如下所示:
api/auth/twitter/generate-auth-link.ts
api/auth/twitter/get-verifier-token.ts
如何解决 cors 问题,以便重定向正常工作?
当我使用next-auth
时,它可以工作,但无法从它的代码中找出它发生的位置。但我想要完全相同的流程。点击Login
& 它被重定向到 Twitter API & 当它被验证时,被重定向回localhost
.
next-connect - 如何在响应中设置 cookie,然后重定向?
我是新手next-connect
,我一直在这个问题上停留了一段时间,我真的希望你能帮助我。
我正在尝试在我的应用程序中实现 Twitter 身份验证,并且在该过程结束时,我的用户登陆了我的一个 api url,在那里我拥有与身份验证相关的所有数据。我的目标是将生成的身份验证令牌保存到 cookie 中,然后将用户重定向回我的应用程序,如下所示:
但这不起作用,它给了我一个TypeError: res.cookie is not a function
.
你能帮我弄清楚如何解决这个问题吗?
reactjs - 如何在开发过程中使用 next-connect 和主机代理?
我使用 restinio 作为我的后端 API 服务器。以前我使用 ReactJS 作为前端,并使用 package.json 中的 "proxy": "http://localhost:4000" 解决了这个代理问题,如此处所述;https://create-react-app.dev/docs/proxying-api-requests-in-development/。
现在我正在使用 Next.js,我可以直接使用 fetch 函数从后端获取数据,但如果可能的话,我想使用 next-connect,因为这个模块有许多功能可以简化我当前项目的编码。
我尝试了几种方法,例如使用 rewrites 模块重写路径;
但仍然无法解决问题。我应该怎么做?
谢谢你。