节点js错误"使用非零退出代码进行处理"

时间:2017-12-30 18:10:47

标签: node.js mongodb express

我使用节点js开发REST API并使用MongoDB表达。 我已经开发了一个端点来将用户插入数据库并且工作正常。现在我已经使用jwt添加了登录功能,现在当我运行我的应用程序并尝试插入我的用户时,我收到此错误:

im[j,k,i]

我在mac上使用节点js版本:8.9.3 有什么帮助吗?

@这是关于用户添加的代码:

an app is listening on port 3000
(node:3650) UnhandledPromiseRejectionWarning: Unhandled promise     rejection (rejection id: 1): Error: Expected "payload" to be a plain   object.
(node:3650) [DEP0018] DeprecationWarning: Unhandled promise    rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.

这是关于登录的代码:

var router = require('express').Router();
var bcrypt = require('bcryptjs');
var User = require('../models/user');
var jwt = require('jsonwebtoken');
var constants = require('../config/constants');

router.post('/',(req, res) => {
// add user --> user = { username: 'test', email: 'test@tes.com',  pwd: 'Test'}
var user = new User({
username: req.body.user.username,
email : req.body.user.email,
passhash: bcrypt.hashSync(req.body.user.pwd, 10)
});

user.save().then(
(newuser) => {
  var sessionToken = jwt.sign(newuser._id, constants.JWT_SECRET, {expiresIn: 60*60*24});
  res.json({
    user: newuser,
    message: 'success',
    sessionToken: sessionToken
  });
},
(err) => {
  res.send(500, err.message);
}
);
});

module.exports = router;

我已经用postman测试了添加用户,我看到当我收到发布的消息时,用户被插入db

1 个答案:

答案 0 :(得分:-1)

如果两个API方法都在同一个文件中声明,问题可能是因为你声明了两次相同的路径+动词:

router.post('/', (req, res) => {