BEST
Applying TypeScript to Node.js (feat. NodeBird)
Let's apply TypeScript to Node.js, add typings to existing npm packages, or create your own TypeScript library.
(4.5) 15 reviews
472 learners
Level Intermediate
Course period Unlimited
Node.js
Node.js
Web Application
Web Application
TypeScript
TypeScript
Node.js
Node.js
Web Application
Web Application
TypeScript
TypeScript
To those who are getting errors with serializeUser and deserializeUser
Passport-related typing has been updated again.
Add the following code to types/index.d.ts
import IUser from '../models/user' ;Change passport/index.ts to:
declare global {
namespace Express {
export interface User extends IUser {}
}
}
passport . serializeUser (( user , done ) => {Additionally, you no longer need to do req.user!.toJSON() as User . You can just use req.user .
done ( null , user . id );
});
passport . deserializeUser < number >( async ( id , done ) => {
try {
const user = await User . findOne ({
where : { id },
});
if (! user ) {
return done ( new Error ( 'no user' ));
}
return done ( null , user ); // req.user
} catch ( err ) {
console . error ( err );
return done ( err );
}
});
You need to add the ts-node section to tsconfig.json.
{
"ts-node" : {
"files" : true
} ,
"compilerOptions" : {
"strict" : true,
"lib" : [ "es2020" ] ,
"esModuleInterop" : true,
"moduleResolution" : "node" ,
"typeRoots" : [ "./types" ]
}
}Comment




