Express 路由控制器内联工作但不导出 - PassportJS

Express route controller works inline but not exported - PassportJS

我正在使用护照 JS 编写登录 post 路由。它工作正常,但我在导出版本工作时遇到问题。

有效

router.post('/users/login', passport.authenticate('local'), (req, res) => {
    console.log(req.user);
});

不起作用 - Returns 不能 POST /users/login

exports.loginAuth = passport.authenticate('local'), (req, res) => {
    console.log(req.user);
}

OKi,一件事。在你 loginAuth 你说的路线在哪里? 嗯,问题是你 passport.authenticate('local'), 是一个中间件

试试这个。假设我们有 routes.jscontroller.js

rotes.js 上,顾名思义,我们有路线,所以它看起来像这样

import {Router} from "express";
//const {Router} = require("express");
import {theEndPoint} from "./controller";
 
export default function themRoutes () {
 const api = Router()

// also dont forget to add the require them thingies required by passport and stuff
api.post("/api/login", [passport.authenticate('local')],theEndPoint);


return api;
}

在我们的 controller.js 文件中,我们有一些像

export function theEndPoint (req, res) {

....

res.sendStatus(202);
}