问题描述
我在 Passport.serializeUser(User.serializeUser()) 行的 User.serializeUser() 下有这个错误;在 auth.route.ts 里面是问题 am=nd 我试了很多次在互联网上搜索这个问题,但我找不到任何可以帮助的东西 如果你能提供帮助,它对帮助者将非常有帮助 这是我的代码
index.ts
require('dotenv').config();
import express from 'express';
import bodyParser from 'body-parser';
import authRoute from './routes/auth.route';
import './services/mongodb.service';
const app = express();
app.use(bodyParser.json());
app.use(bodyParser.urlencoded({ extended: false }));
app.use('/auth',authRoute);
const port = process.env.PORT;
app.listen(5000,() => console.log(`server start at ${port}`));
user.model.ts
import { Schema,Document,model,PassportLocalSchema } from 'mongoose';
import passportLocalMongoose from 'passport-local-mongoose';
type Role = 'Admin' | 'Pit Scouter' | 'Techni Scouter' | 'None';
export interface IUser extends Document{
name: String;
email: String;
password: String;
role: Role;
lastLogin?: Date;
}
const UserSchema = new Schema({
name: {type: String,required: true},email: {type: String,required: true,unique: true},password: {type: String,role: {type: String,rquired: true},lastLogin: {type: Date}
});
UserSchema.plugin(passportLocalMongoose,{
usernameField: 'email'
});
export default model<IUser>('User',UserSchema as PassportLocalSchema);
auth.route.ts
import { Router } from 'express';
import _ from 'lodash';
import session from 'express-session';
import passport from 'passport';
import User,{ IUser } from '../models/user.model';
const router = Router();
router.use(session({
secret: String(process.env.SECRET),resave: false,saveUninitialized: false
}));
router.use(passport.initialize());
router.use(passport.session());
passport.use(User.createStrategy());
passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());
router.post('/register',(req,res) => {
});
router.post('/login',res) => {
});
router.post('/logout',res) => {
});
export default router;
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)