gpt4 book ai didi

node.js - 如何应用程序使用来自不同文件的所有路由

转载 作者:搜寻专家 更新时间:2023-11-01 00:50:10 25 4
gpt4 key购买 nike

我正在尝试分离我的路线,之前我将它们包含在我的 app.js 中

/后端/app.js

const express = require("express");
const router = require("./routes");
const status = require("./routes/status");
const register = require("./routes/register");
const login = require("./routes/login");


app.use('/', router);
app.use('/status', status);
app.use('/login', login);
app.use('/register', register);

我意识到这并不理想,因为我后来添加了越来越多的路由,app.js 会被它们污染

我现在想做的只是导入一个 index.js 到 app.js 基本上这个索引有所有需要的路由

/后端/路由/索引

const routes = require("express").Router();
const root = require("./root");
const status = require("./status");
const register = require("./account/register");
const login = require("./account/login");


routes.use("/", root);
routes.use("/login", login);
routes.use("/register", register);
routes.use("/status", status);
and now in the app.js i can just include the index

const routes = require("./routes");
app.use('/', routes);

但是在尝试请求登录路由时出现 404 错误,但它不起作用

我是这样导出的

module.exports = routes;

最佳答案

在你的 app.js 中

app.use('/', require('./backend/routes/index'))

然后,在你的路线/索引

import express from 'express'

const router = express.Router()

// GET /
router.get('/', function (req, res) {

})

// GET /countries
router.get('/countries', (req, res, next) => {

})

// POST /subscribe
router.post('/subscribe', checkAuth, generalBodyValidation, (req, res, next) => {

})

// All routes to /admin are being solved in the backend/routes/admin/index file
router.use('/admin', require('./backend/routes/admin/index'))

module.exports = router

您的管理/索引文件可以是 从“ express ”导入 express

const router = express.Router()

// POST /admin/login
router.post('/login', (req, res, next) => {

})

module.exports = router

有了这个,您将能够对/admin/login 执行 POST 请求。

希望这能解决您的问题,如果它确实将我的答案标记为正确,如果没有告诉我哪里出了问题,我会解决它:D

关于node.js - 如何应用程序使用来自不同文件的所有路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53138548/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com