javascript - ES进口 Passport

标签 javascript node.js passport.js

谁能帮我使用 ES 导入版本的:require('./config/passport')(passport);。我无法让它工作。我不认为你可以同时使用 ES import 和 require 。我得到了 require is undefined 的错误。

import express from 'express';
import bodyParser from 'body-parser';
import mongoose from 'mongoose';
import cors from 'cors';
import dotenv from 'dotenv';
import { createRequire } from 'module';
const URL = createRequire(import.meta.url);
import passport from 'passport'


import postRoutes from './routes/posts.js'
import userRoutes from './routes/user.js'
import loginRoutes from './routes/login.js'

const app = express();
dotenv.config();
require('./config/passport')(passport);

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

最佳答案

是的,我们不能使用 commonjs 模块的 require 和 ES6 模块的 import。 虽然解决方案非常简单。基本上,您必须将 passport 作为参数传递给从 ./config/passport 导出的函数。 您所要做的就是按原样导入函数并将 Passport 作为参数传递。

所以这是你需要做的:-


配置/passport.js

export default = (passport) => {
 /* use passport here */
}

索引.js

import passport from "passport";
import passportConfig from "./config/passport";

passportConfig(passport);

关于javascript - ES进口 Passport ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/66750977/

相关文章:

javascript - 危险地 react SetInnerHTML 以呈现从 Prop 嵌入的 iframe youtube?

javascript - 如何创建这个下拉框

node.js - readline.createInterface({}).on({}) 内的变量未更新

node.js - Node.js/Express/Passport 是否有像 CanCan for Rails 这样的授权模块?

javascript - 如何在不移动父元素的情况下加载在特定位置显示 div 的页面

javascript - 如何从 youtube url 获取视频的直接 url?

javascript - 如何将函数作为 Node 中的模块添加到现有对象?

node.js - 如何使用Sequelize在两个不直接依赖的表之间建立关系?

node.js - Passport 序列化和反序列化与 JWT

javascript - Session Node.js + Passport.js + Redis,通过user.id存储 session