微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Node.js expressjs 嵌套路由,

如何解决Node.js expressjs 嵌套路由,

index.js

const AuthRouter = require("./Routes/Auth/signup")

app.use("/account",AuthRouter)

注册.js

router.post("/",async (req,res) => {
          res.send("Signup")
})

代码有效...

但我不会喜欢这个,它在 Express.js 中是可能的

index.js

const AuthRouter = require("./Routes/Auth/urls")

app.use("/account",AuthRouter)

urls.js

app.use("/signup",signup)
app.use("/login",login)

注册.js

router.post("/",res) => {
          res.send("Signup")
})

登录.js

router.post("/",res) => {
          res.send("Login")
})

解决方法

是的,你可以这样做。 例如,您必须为您的路由专门指定一个文件。像这样说routes.js

import express from "express";
import { Signup } from "./";

const router = express.Router();

router.post("/signup",signup);

export { router }

此外,您的 server.js 文件中必须包含以下内容:

import { router as usersRoutes } from "./api/routes/routes";
app.use("/api",usersRoutes);

现在,您可以将 HTTP POST 请求发送到 localhost:3000/api/signup

,

您也可以内联进行。我更喜欢那样。在服务器上是这样的:

app.use('/users',require('../utils/api/user'))

这样的路由文件在给定目录中称为 user.js:

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

router.post('/login',(req,res) => {
    res.render('user',{title: 'User',user})
})
router.post('/signup',res) => {
  res.render('user',user})
}

module.exports = router

现在客户端登录的路由是/users/login,注册的路由是/users/signup

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。