如何处理从POST(NodeJs / Sequelize / Express)收到的数据

我想用express和Sequelize把用户注册到MySQL数据库中。

服务器文件夹

首先,我应该确保我的客户端(AngularJS)将数据发布到我的routes.js(req.body包含我的数据)文件中:

var bodyParser = require('body-parser'); var passport = require('passport'); var session = require('express-session'); module.exports = function (app) { //BodyParser app.use(bodyParser.urlencoded({ extended: true })); app.use(bodyParser.json()); //Passport app.use(session({ secret: 'keyboard cat', resave: true, saveUninitialized: true })); app.use(passport.initialize()); app.use(passport.session()); // persistent login sessions app.post('/registered', function (req, res) { console.log(req.body); res.end(); }); } 

接下来,我创build了一个Sequelize用户模型:

 module.exports = function (sequelize, Sequelize) { var User = sequelize.define('user', { id: { autoIncrement: true, primaryKey: true, type: Sequelize.INTEGER }, firstname: { type: Sequelize.STRING, notEmpty: true }, lastname: { type: Sequelize.STRING, notEmpty: true }, email: { type: Sequelize.STRING, validate: { isEmail: true } }, password: { type: Sequelize.STRING, allowNull: false }, password_confirmation: { type: Sequelize.STRING, allowNull: false } }); return User; } 

现在,我想创build一个用户到我的数据库sequelize,所以我有一个passport.js文件在那里:

 var bCrypt = require('bcrypt-nodejs'); module.exports = function(passport, user) { var User = user; var LocalStrategy = require('passport-local').Strategy; passport.use('local-registered', new LocalStrategy( { usernameField: 'email', passwordField: 'password', passReqToCallback: true // allows us to pass back the entire request to the callback }, function(req, email, password, done) { var generateHash = function(password) { return bCrypt.hashSync(password, bCrypt.genSaltSync(8), null); }; User.findOne({ where: { email: email } }).then(function(user) { if (user) { return done(null, false, { message: 'That email is already taken' }); } else { var userPassword = generateHash(password); var data = { email: email, password: userPassword, firstname: req.body.firstname, lastname: req.body.lastname }; User.create(data).then(function(newUser, created) { if (!newUser) { return done(null, false); } if (newUser) { return done(null, newUser); } }); } }); } )); } 

其中哈希密码,并使用sequelize函数user.create()等。

到数据库的连接已经完成,我的模型正确加载,但我想分开所有污染我的server.js文件的文件。

这就是为什么我创build了一个包含处理数据的所有路由的路由文件夹。

但我的问题是,我不知道如何使用我的passport.js到我的routes.js文件。

有什么想法吗?