Express.js有两个路由,如单个模块中的注册和登录

问题描述 投票:0回答:1

我需要帮助,同时在名为Users in express的单个文件中添加不同的功能,如注册,登录,删除配置文件,编辑配置文件。

我已经在'/'上注册,现在我无法找到去用户文件中的登录功能的方法。

为了注册,我使用了快速方法作为app.use('/signup' , Users),我想知道我现在如何访问登录功能

//this is the code in Users.js file
router.post("/", (req, res) => {
  var user = new User();
  user.name = req.body.name;
  user.DOB = req.body.DOB;
  user.email = req.body.email;
  user.city = req.body.city;
  user.password = req.body.password;
  user.gender = req.body.gender;
  user.image = req.body.image;
  user.Phone = req.body.PhoneNumber;
  user.MsgNumber = req.body.MsgNumber;
  user.about = req.body.about;
  user.JoinDate = new Date;
  user.save(function(err, result) {
    if (err) {
      res.json({
        status: err
      })
    } else {
      res.json({
        status: 'ok'
      });
    }
  });
});

//now the second function of signin
router.post("/signIn", passport.authenticate("local"), (req, res) => {
      if (usernotfound == 0) {
        res.send(JSON.stringify(req.user));
      } else {
        res.send('Not Found')
      }



// here is the code from the main server js file to send data to these functions

app.use('/signUp', users)
app.use('/signin', users)

{signup在'/'上,因此直接作为根函数调用。现在我如何访问登录功能}

javascript node.js reactjs express
1个回答
0
投票

不太确定你在寻找什么,但是当你这样做时,你正在为不同的路由使用相同的处理程序:

app.use('/signUp', users)
app.use('/signin', users)

你在这里所说的是“当用户去signUp和signin时我想要同样的事情发生”

您可以让用户在同一文件中路由,但处理程序需要不同。

index.js

const epxress = require('express')
const userRouter = require('./users')
const app = express()


app.use('/users, userRouter)

索引文件是一个简单的快速应用程序,需要user.js

users.js

const expreess = require('express')
const router = express.Router()

router.post("/signIn", passport.authenticate("local"), (req, res) => {
   // Your code for signing in
})

router.post('/signUp', (req, res) => {
  // your code for signing up
})

module.exports = router    

所以users.js是一个简单的快递路由器。所以现在访问者可以访问/ users / signIn和/ users / signUp - 基本上他们转到'/ users'并被路由到user.js文件,该文件已定义其他路由/ signIn和/ signUp,因此完整路径变为/ users / signIn和/ users / signUp

另一种方法是在users.js文件中导出两个处理程序。就像是

index.js

app.post('/signIn', users.signIn)
app.post('/signUp', users.signUp)

然后在你的users.js中

exports.signIn = function(req, res) {
  // Your code for signin in
}

exports.signUp = function(req, res) {
  // Your code for signing up
}
© www.soinside.com 2019 - 2024. All rights reserved.