강의

멘토링

로드맵

BEST
Programming

/

Back-end

Node.jsにTypeScriptを適用する(feat. NodeBird)

Node.jsにタイプスクリプトを適用し、既存のnpmパッケージにタイプを追加するか、直接タイプスクリプトライブラリを作成しましょう。

難易度 中級以上

受講期間 無制限

  • zerocho
Node.js
Node.js
Web Application
Web Application
TypeScript
TypeScript
Node.js
Node.js
Web Application
Web Application
TypeScript
TypeScript

serializeUserとdeserializeUserエラーのある方へ

passport関連のタイピングがまた更新されましたね。

types/index.d.tsに次のコードを追加し、

 import IUser from '../models/user' ;

declare global {
namespace Express {
export interface User extends IUser {}
}
}

passport/index.tsを次のように置き換えます。
 passportserializeUser (( user , done ) => {
donenulluser。id ;
});
passportdeserializeUser < number >( async ( id , done ) => {
try {
const user = await UserfindOne ({
where : { id },
});
if (! user ){
return donenew Error'no user' ));
}
return donenulluser ); // req.user
} catcherr ){
consoleerrorerr );
return doneerr );
}
});

おまけに req.user も req.user!.toJSON() as User する必要がなくなりました。ただreq.userを書くだけです。

tsconfig.jsonにはts-node部分を追加する必要があります。
 {
"ts-node" : {
"files" : true
}
"compilerOptions" : {
"strict" : true,
"lib" : [ "es2020" ] ,
"esModuleInterop" : true,
"moduleResolution" : "node" ,
"typeRoots" : [ "./types" ]
}
}
コメント