【发布时间】:2020-08-09 08:48:46
【问题描述】:
我在使用 express 重构代码时遇到问题,我是这个开发的新手
//index.js
const express = require('express')
const app = express()
const bodyParser = require('body-parser')
const connection = require('./config/database')
const User = require('./models/User')
app.use(bodyParser.json())
connection
.authenticate()
.then(() => {
console.log('Conexão feita com o banco de dados')
})
.catch((err) => {
console.log(err)
})
app.get('/', (req, res) => {
res.send('Rodando')
})
app.post('/createUser', {...})
app.listen(3000, () => {
console.log('Rodando')
})
下面是我的控制器,我在这里创建用户
//userController.js
const bcrypt = require('bcrypt-nodejs')
const User = require('../models/User')
module.exports = () => {
const obterHash = (password, callback) => {
bcrypt.genSalt(10, (err, salt) => {
bcrypt.hash(password, salt, nul, (err, hash) => callback(hash))
})
}
const save = (req, res) => {
obterHash(req.body.password, hash => {
const password = hash
User.create({
name: req.body.name,
email: req.body.email,
password: password
}).then(() => {
res.status(202)
}).catch(() => {
res.status(404)
})
})
}
return { save }
}
我想在我的索引中使用我的这个控制器。 如果有人有如何重构此代码的示例
我不知道如何在我的索引中调用这个控制器
【问题讨论】:
-
只需使用
require导入它并在您的路线中使用它,const usersController = require('/pathto/usercontroller.js') -
请给我一个例子,因为我之前做过这个并且请求没有加载
-
我发现你确实只返回了保存功能。