首页 > 解决方案 > 我的 index.js 文件缺少 app.js 文件的哪一部分?

问题描述

这适用于 app.js

const express = require("express");
const app = express();
const mongoose = require("mongoose");
const session = require("express-session");
const passport = require("passport");
const crypto = require("crypto");
const routes = require("./routes");
const connection = require("./config/database");
const cors = require("cors");
app.use(cors({ origin: "http://localhost:3001", credentials: true }));
const User = mongoose.models.User;

const bodyParser = require("body-parser");

const MongoStore = require("connect-mongo")(session);

require("dotenv").config();

app.use(express.json());

app.use(express.urlencoded({ extended: true }));

const sessionStore = new MongoStore({
  mongooseConnection: mongoose.connection,
  collection: "sessions",
});

app.use(
  session({
    secret: "zdfbdaf",
    resave: true,
    saveUninitialized: true,
    store: sessionStore,
    cookie: {
      cookie: { secure: false },
      maxAge: 1000 * 60 * 60 * 24,
    },
  })
);
function getUser(req, res, next) {
  User.findOne({ url: req.body.url })
    .then((user) => {
      if (!user) {
        console.log("No user Found");
        res.send("No user found");
      } else {
        console.log("Sup");

        res.status(200).send(user);
      }
    })
    .catch((err) => {
      done(err);
    });
}

app.post("/visitor", getUser);

require("./config/passport");

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

app.use(routes);

app.listen(3000);

这不

index.js

const router = require("express").Router();
const passport = require("passport");
const bodyParser = require("body-parser");
const genPassword = require("../lib/passwordUtils").genPassword;
const connection = require("../config/database");
const mongoose = require("mongoose");
const User = mongoose.models.User;
const isAuth = require("./authMiddleware").isAuth;

function getUser(req, res, next) {
  User.findOne({ url: req.body.url })
    .then((user) => {
      if (!user) {
        console.log("No user Found");
        res.send("No user found");
      } else {
        console.log("Sup");

        res.status(200).send(user);
      }
    })
    .catch((err) => {
      console.log(err);
    });
}

router.post("/visitor", getUser);


module.exports = router;

错误是“错误 [ERR_HTTP_HEADERS_SENT]:在将标头发送到客户端后无法设置标头”,我似乎无法在 getUser 之前或期间找到我正在使用“res”的地方,这把它搞砸了。我很确定我的错误是 app.js 有我的 index.js 没有的东西,我只是不确定是什么。我试着移动一些东西,比如cors,但这没有帮助。

(当然,在使用它的索引页面时,我会注释掉 app.visitor 发布路由和 getUser 函数)

标签: javascriptnode.jsexpressmongoosemiddleware

解决方案


推荐阅读