gpt4 book ai didi

javascript - 当我将路由放入 Controller 时,我的控制台出现错误

转载 作者:搜寻专家 更新时间:2023-11-01 00:47:33 25 4
gpt4 key购买 nike

我正在设置一个注册帐户的路由,但是当我将路由定向到 controller.js 时,我的 VS 代码给我一个错误。

这是一个新网站,运行 javascript、nodejs 和 React。

我的 routes.js:

const routes = require('express').Router();

const RegisterController = require('./controllers/RegisterController');

routes.get('/', (req, res) => {
return res.send('Hello, World!')
});

routes.post('/register', RegisterController.store);

module.exports = routes;

我的 RegisterController.js:

const User = require('../models/UserModel');

class RegisterController {
async store(req, res) {
const email = req.body.email.toLowerCase();
const username = req.body.username.toLowerCase();

const EmailExists = await User.findOne({ email: email });
const UserExists = await User.findOne({ user: username });

if (!EmailExists) {
return res.json({ message: 'This email is already registered! Please, try another.' });
};

if (!UserExists) {
return res.json({ message: 'This user is already registered! Please, try another.' });
}

const { password } = req.body.password;

const user = await User.create({
username,
email,
password
});

return res.json(user)

}
}

我希望注册我的 MongoDB 帐户。​​

VS Code 给我的错误是:错误:Route.post() 需要一个回调函数但得到了一个[对象未定义]

最佳答案

RegisterController.store 未定义,因为 store 是实例方法而不是 static方法。

class RegisterController {
static async store(req, res) {
// ...
}
}

关于javascript - 当我将路由放入 Controller 时,我的控制台出现错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57511374/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com