簡體   English   中英

Express.js兩條路徑,例如在單個模塊中進行注冊和登錄

[英]Express.js two routes like signup and signin in single module

在將不同功能(例如注冊,登錄,刪除配置文件,編輯配置文件)放在一個名為Users in express的文件中時,我需要幫助。

我已經在'/'上進行了注冊,但是現在無法在users文件中找到進入登錄功能的方法。

對於注冊,我將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在'/'上,因此直接稱為根函數。 現在如何訪問登錄功能}

不太確定您要查找什么,但是在執行此操作時,您對不同的路由使用了相同的處理程序:

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

您在此處表示的意思是“我希望用戶登錄並登錄時會發生同樣的事情”

您可以讓用戶在同一文件中路由,但處理程序需要不同。

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
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM