javascript - 我的 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 函数)
解决方案
推荐阅读
- angular - 在 AWS EC2 上安装 angular-cli 时出错
- symfony - 使用密码和客户端凭据创建客户端 oauth-server
- excel - 如何返回相对于 VLOOKUP 结果的单元格偏移值
- acumatica - 如何将密码显示为属性的星号
- arrays - Postgresql - 如何检查数组是否有共同的元素
- javascript - 用零填充对象
- node.js - Discord.js awaitReaction 在 message.react 之后链式承诺收集反应,因为承诺未解决
- reporting-services - 如何在 SSRS 报表生成器中将数字转换为日期
- java - DozerMapper 默认映射,设置为 HashSet 破坏元素的顺序
- javascript - 编译失败/解析错误:Unexpected token