schema.plugin 的第一个参数必须是函数 (passport-local-mongoose)

First param to schema.plugin must be a function (passport-local-mongoose)

我一直在尝试在我的服务器中使用 passport-local-mongoose。 在教程视频的帮助下制作这个服务器。在教程视频中,同样的代码工作得很好,但在我的例子中它不起作用。虽然我的数据库已连接到 mongodbatlas。 但是我得到一个错误“schema.plugin() 的第一个参数必须是一个函数,” Screenshot of the ERROR

我想知道如何将插件用作函数!尝试在各处搜索但没有任何帮助。 以下是代码

const express = require("express");
const mongoose = require("mongoose");
const session = require("express-session");
const passport = require("passport");
const passportLocalMongoose = ("passport-local-mongoose");

const app = express();
app.use(session({
    secret: "alpha beta gama",
    resave: false,
    saveUninitialized: false
}));
app.use(passport.initialize());
app.use(passport.session());

mongoose.connect("mongodb+srv://admin-sumit:password@cluster0-bessu.mongodb.net/myBlog", {
   useNewUrlParser: true,
   useUnifiedTopology: true
 });

const userSchema = new mongoose.Schema({
    email:String,
    password:String,
    comments:String
});

userSchema.plugin(passportLocalMongoose);

const User = new mongoose.model("User", userSchema);

passport.use(User.createStrategy());

passport.serializeUser(User.serializeUser());
passport.deserializeUser(User.deserializeUser());

app.get("/blog1comment", function(req, res){
    if(req.isAuthenticated()){
        res.render('blogsingle', { title: 'Express' });
    } else{
        res.redirect("/login");
    }
});

app.post('/register', function(req, res){
    User.register({username: req.body.username}, req.body.password, function(err, user){
        if(err){
            console.log(err);
            res.redirect("/register");
        } else {
            passport.authenticate("local")(req, res, function(){
                res.redirect("/");
            });
        }
    });

});

app.post('/login', function(req, res){
    const user = new User({
        username: req.body.username,
        password: req.body.password
    });
    req.login(user, function(err){
        if(err){
            console.log(err);
        } else{
            passport.authenticate("local")(req, res, function(){
                res.redirect("/");
            });
        }
    });
});

app.listen(process.env.PORT || 3000, function(){
    console.log('Server is running');
});

请帮我解决这个问题。

const passportLocalMongoose = ("passport-local-mongoose"); 只是我没有在那里使用 require ,愚蠢的我。 现在解决了 const passportLocalMongoose = require("passport-local-mongoose"); 这解决了。