passport.use 不是函数

passport.use is not a function

我正在尝试将护照服务添加到我的应用程序中,但出现以下错误, 我已经安装了所有依赖项并尝试搜索此错误但得到 none ,请帮助

passport.use(new JwtStrategy(opts, function(jwt_payload, done){         
     TypeError: passport.use is not a function
     at module.exports (/home/udit/Goserv/app/config/passport.js:11:14)
     at Object.<anonymous> (/home/udit/Goserv/app/server/server.js:9:45)
     at Module._compile (module.js:410:26)
     at Object.Module._extensions..js (module.js:417:10)
     at Module.load (module.js:344:32)
     at Function.Module._load (module.js:301:12)
     at Function.Module.runMain (module.js:442:10)
     at startup (node.js:136:18)
     at node.js:966:3

这是 passport.js 文件:

var JwtStrategy = require('passport-jwt').Strategy,
    ExtractJwt = require('passport-jwt').ExtractJwt;

var User = require('../model/user.js');
var config = require('../config/database');

module.exports = function(passport){
    var  opts = {};
    opts.secretOrKey =  config.secret;
    opts.jwtFromRequest = ExtractJwt.fromAuthHeader();
    passport.use(new JwtStrategy(opts, function(jwt_payload, done){
        User.find({id: jwt_payload.id}, function(err, user){
            if (err) {
                return done(err, false);
            }
            if (user) {
                return done(null, user);
            } else {
                return done(null, false);
            }
        })
    }));
}

您需要使用以下命令从 app.js 文件中获取 passport.js:

require('./config/passport')(passport);

您的 app.js 文件中所有与护照相关的命令应该是:

const passport = require('passport');

app.use(passport.initialize());
app.use(passport.session());

require('./config/passport')(passport);

如果像这样导入你会得到这个错误

import * as passport from 'passport';

应该是

import passport from 'passport';