【问题标题】:Difficulty calling my controller in my index难以在我的索引中调用我的控制器
【发布时间】: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')
  • 请给我一个例子,因为我之前做过这个并且请求没有加载
  • 我发现你确实只返回了保存功能。

标签: node.js api express


【解决方案1】:

此代码类似于您的代码: 你的控制器:

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

  return {x}
}

你的主要代码:

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

console.log(c().x(2)); // will print out 4

【讨论】:

  • 你检查过我的控制器是怎么做的吗?
  • 你确实问过如何使用它,
  • 当控制器方法很大时最好使用classes
  • 我只是问如何使用它,感谢您的努力,但您的回答没有解决
  • @RuanDuarte 我确实更新了答案,希望它可以帮助您了解如何使用。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-01-23
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多