javascript - Node.js 和 Express 要求来自单独文件的路由仅适用于索引路由

标签 javascript node.js express routes

如何从单独的文件中请求/链接路由?我在路由文件中使用快速路由器,然后需要我的 app.js 中的文件,但只有/home 和/privacy-policy 路由正在工作

app.js:

const express        = require("express"),
      app            = express();

const indexRoutes    = require("./routes/index");
      checkoutRoutes = require("./routes/checkout"); 

app.use("/", indexRoutes);
app.use("/checkout", checkoutRoutes);

app.listen(PORT, () => console.log("Server Started"));

/routes/index.js:

const express = require("express"),
      router  = express.Router();

const checkoutRoutes = require("./checkout");

router.get("/", (req, res) => {
    res.redirect("/home");
});

router.get("/home", (req, res) => {
    res.render("index");
});

router.get("/privacy-policy", (req, res) => {
    res.render("privacyPolicy")
});

module.exports = router;

/routes/checkout.js:

const express = require("express"),
      router  = express.Router();

router.get("/checkout", (req, res) => {
    res.render("checkout");
});

module.exports = router

最佳答案

您的路由器处理/checkout,并且您将其安装在/checkout,这将形成路由/checkout/checkout的完整路径。

您可能希望 checkout.js 中的路由为 /

关于javascript - Node.js 和 Express 要求来自单独文件的路由仅适用于索引路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60829040/

相关文章:

javascript - React 根据结果数量动态创建按钮

javascript - HTML:我如何在 <li> 标签内居中对齐图像

node.js - 在 Nodejs 中从套接字接收大量二进制数据

node.js - 使用单个命令进行查询和插入

javascript - 在 NodeJS 上跨页面请求维护后端连接?

express - 如何使用 phantom-html2pdf 在 PDF 页面中添加页眉和页脚

javascript - 当我包含推荐的安全覆盖时,为什么脚本拒绝在 Google Analytics Chrome 扩展程序中加载?

javascript - 在具有随机起始索引的数组中选择 4 个值

javascript - Loopback 模型中的 findOrCreate

javascript - 语法错误: Unexpected Identifier when using discord-webhooks/javascript