我正在学习 MERN 堆栈并尝试使用电子邮件验证创建登录和注册注册。我被这个错误困住了,看不出我错在哪里。请帮忙! 这是我在服务器端的代码的一部分: 我正在学习 MERN 堆栈并尝试使用电子邮件验证创建登录和注册注册。我被这个错误困住了,看不出我错在哪里。请帮忙! 这是我在服务器端的部分代码:
auth.models.js
const mongoose = require('mongoose');
const crypto = require('crypto');
// user schema
const userSchema = new mongoose.Schema(
{
name: {
type: String,
trim: true,
required: true
},
email: {
type: String,
trim: true,
required: true,
unique: true,
lowercase: true
},
hashed_password: {
type: String,
required: true
},
salt: String,
role: {
type: String,
default: 'subscriber'
},
resetPasswordLink: {
data: String,
default: ''
}
},
{
timestamps: true
}
);
module.exports = mongoose.model('User', userSchema);
db.js
const mongoose = require('mongoose');
const connectDB = async () => {
const connection = await mongoose.connect(process.env.MONGO_URI, {
useNewUrlParser: true,
useCreateIndex: true,
useFindAndModify: false,
useUnifiedTopology: true
});
console.log(`MongoDB Connected: ${connection.connection.host}`);
};
module.exports = connectDB;
server.js
const express = require('express')
const morgan = require('morgan')
const connectDB = require('./config/db')
const bodyParser = require('body-parser')
const cors = require('cors')
// Config dotev
require('dotenv').config({
path: './config/config.env'
})
const app = express()
// Connect to database
connectDB();
// body parser
app.use(bodyParser.json())
// Load routes
const authRouter = require('./routes/auth.route')
app.use(bodyParser.urlencoded({ extended: false }));
// Dev Logginf Middleware
if (process.env.NODE_ENV === 'development') {
app.use(cors({
origin: process.env.CLIENT_URL
}))
app.use(morgan('dev'))
}
// Use Routes
app.use('/api', authRouter)
app.use((req, res) => {
res.status(404).json({
success: false,
msg: "Page not founded"
})
})
const PORT = process.env.PORT || 5000
app.listen(PORT, () => {
console.log(`App listening on port ${PORT}`);
});
config.env
PORT=5000
NODE_ENV=development
CLIENT_URL=http://localhost:3000
MONGO_URI=mongodb://localhost:27017/server