谁能帮我使用 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/