我被这个问题困住了
<块引用>UnhandledPromiseRejectionWarning
:类型错误:无法读取属性
未定义的“电子邮件”
我尝试了很多解决方案,但没有任何改变。我被邮递员试过,结果是 status(400) 错误的请求。 当我用迅雷客户端尝试时没有出现任何答案
app.js
const express = require("express");
const app = express();
const mongoose = require("mongoose");
const morgan = require("morgan");
const bodyParser = require("body-parser");
const expressValidator = require("express-validator");
const dotenv = require("dotenv");
dotenv.config();
// db
// MONGO_URI=mongodb://localhost/nodeapi
mongoose
.connect(process.env.MONGO_URI, {
useUnifiedTopology: true,
useNewUrlParser: true,
})
.then(() => console.log("DB connected"));
mongoose.connection.on("err", (err) => {
console.log(`DB connection error: ${err.message}`);
});
// bring routes
const postRoutes = require("./routes/post");
const authRoutes = require("./routes/auth");
// middleware
app.use(
express.urlencoded({
extended: true,
})
);
app.use(express.json());
app.use(expressValidator());
app.use(morgan("dev"));
app.use("/", postRoutes);
app.use("/", authRoutes);
const port = process.env.PORT || 8080;
app.listen(port, () => {
console.log(`A calling app from ${port}`);
});
auth.js
const User = require("../models/user");
exports.signup = async (res, req) => {
const userExist = await User.findOne({ email: req.body.email });
if (userExist) {
return res.status(403).json({
error: "Email is taken!",
});
} else {
const user = await new User(req.body);
await user.save();
res.status(200).json({ message: "Signup success!, please login" });
}
};