Сложность вызова моего контроллера в моем индексе - PullRequest
1 голос
/ 25 апреля 2020

У меня проблемы с рефакторингом кода с 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 }
}

Я хочу использовать этот контроллер в моем индексе. Если у кого-то есть пример того, как рефакторинг этого кода

, я не имею в виду, как вызвать этот контроллер в моем индексе

1 Ответ

2 голосов
/ 25 апреля 2020

Этот код похож на ваш код: Ваш контроллер:

module.exports = () => {
  const x=(a)=>a*a;

  return {x}
}

Ваш основной код:

const c = require('./controller.js');

console.log(c().x(2)); // will print out 4
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...