我知道有很多关于这个的话题,但我花了过去 2 个小时搜索但没有任何帮助。
你好,我很难尝试在 typescript 中扩展 express-session 的会话对象。
我有以下文件
src/types/express/index.d.ts
import account_document from "../account/account-document"
import xcsrftoken from "../data-types/x-csrf-token"
declare global {
namespace Express {
interface Request {
authenticated_user: account_document
}
interface SessionData {
xcsrftoken: xcsrftoken
}
}
}
src/types/express-session/index.d.ts
import xcsrftoken from "../data-types/x-csrf-token";
declare module "express-session" {
interface SessionData {
xcsrftoken: xcsrftoken
}
}
tsconfig.json
{
"compilerOptions": {
"target": "ES2017",
"module": "commonjs",
"strict": true,
"moduleResolution": "node",
"resolveJsonModule": true,
"esModuleInterop": true,
"typeRoots": ["./src/types/express", "./src/types/express-session", "./node_modules/@types"]
},
"exclude": ["node_modules"]
}
但是下面的脚本返回
Property 'xcsrftoken' does not exist on type 'never'.
if (!req.session) {
req.session.xcsrftoken = {}
}
我该如何解决?