Node.js 在索引中调用控制器有困难
我在用express重构代码时遇到了麻烦,我对这种开发还不熟悉Node.js 在索引中调用控制器有困难,node.js,api,express,Node.js,Api,Express,我在用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.
//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 }
}
我想在索引中使用我的这个控制器。
如果有人有关于如何重构此代码的示例
我不知道如何在我的索引中调用此控制器此代码与您的代码类似: 您的控制器:
module.exports=()=>{
常数x=(a)=>a*a;
返回{x}
}
您的主要代码:
const c=require('./controller.js');
console.log(c().x(2));//将打印出4个
只需使用require
导入它,并在路由中使用它,const userscocontroller=require('/pathto/usercontroller.js')
请给我一个例子,因为我以前做过,请求没有加载。我发现您只返回了保存函数。您检查了我的控制器的工作情况吗?您问过如何使用它,当有大量的控制器方法时,最好使用类
。我刚才问过如何使用它,我很感激你的努力,但你的回答没有solve@RuanDuarte我更新了答案,希望它能帮助你理解如何使用。