❗️(Express.js + TypeScript) Session 구현 중 에러
1.
/Eden_Back/node_modules/ts-node/src/index.ts:859
return new TSError(diagnosticText, diagnosticCodes, diagnostics);
^
TSError: ⨯ Unable to compile TypeScript:
src/routes/mypage/controller.ts:10:53 - error TS2339: Property 'userId' does not exist on type 'Session & Partial<SessionData>'.
10 console.log("req.session.userId: ", req.session.userId);
~~~~~~
src/routes/mypage/controller.ts:11:32 - error TS2339: Property 'userId' does not exist on type 'Session & Partial<SessionData>'.
import session from "express-session";
declare module "express-session" {
interface SessionData {
userId?: string;
}
}
"compilerOptions": {
"typeRoots": [
"types",
"./node_modules/@types"
]
}
[참고링크1]
[참고링크2]
2.
/Eden_Back/node_modules/ts-node/src/index.ts:859
return new TSError(diagnosticText, diagnosticCodes, diagnostics);
^
TSError: ⨯ Unable to compile TypeScript:
src/utils/auth.ts:12:11 - error TS2339: Property 'user' does not exist on type 'Request<ParamsDictionary, any, any, ParsedQs, Record<string, any>>'.
12 req.user = req.session;
~~~~
import { Request } from "express";
declare global {
namespace Express {
interface Request {
user?: object;
}
}
}
...
import "./types/express-extensions";
...
[참고링크3]
⌨️ Express.js Session 구현하기
세션 방식 로그인, 인증 구현 (connect-mongo 이용)
Node.js 세션 메소드, 변수