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.js
和 controller.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);
}
我正在使用护照 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.js
和 controller.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);
}