【问题标题】:@types/express-session doesn't work. Any idea why?@types/express-session 不起作用。知道为什么吗?
【发布时间】:2021-04-24 04:17:14
【问题描述】:

我将 typescript 用于我的网络应用程序的后端,并且我已经合并了 express-session。我有 @types/express 和 @types/express-session 但不幸的是我不断收到类型错误说明:

  • Property 'session' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'

有人知道发生了什么吗?

版本:

"express": "^4.17.1",
"express-session": "^1.17.1",
"@types/express": "^4.17.11",
"@types/express-session": "1.17.0",

示例代码:

const auth_data: authSuccess|authError = await discordClient.exchangeCodeForTokens(String(disCode));
if(!auth_data) {throw new Error('Could not Authorize!')}
req.session.oauth = auth_data;

这里最后一行会抛出类型错误:Property 'session' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'

【问题讨论】:

  • 显示引发此错误的代码
  • 前。 'req.session.oauth = auth_data;'会返回 ts 类型错误
  • 代码给我:Property 'oauth' does not exist on type 'Session & Partial<SessionData>'.ts(2339) 错误。无法重现错误。您需要提供一个最小的、可重现的示例。

标签: node.js typescript express typescript-typings express-session


【解决方案1】:

问题是我像这样导入了快速会话:

  • const session = require('express-session')

而不是这样:

  • import session from 'express-session';

这完全有道理。我不知道为什么我不考虑查看我的进口商品!

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-08-23
    • 2020-11-20
    • 2013-05-14
    • 2017-10-30
    • 2018-01-31
    • 1970-01-01
    相关资源
    最近更新 更多