Express.js 问题 Router not working with phusion passenger Node.js

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

我在使用 Phusion Passenger 和 Express.js 时遇到问题,路由器不工作并且没有给我任何类型的错误

尝试使用 Node 版本 16 和 14 的主机,以及使用 Node 16(Cent OS)的专用服务器

Express版本为:4.18.2

const express = require("express");

const app = express();

const  router = express.Router();

// domain.com/backend/

app.use('/backend/test', (req, res) => {
  res.json({ message: 'test' })
})


app.get("/backend/test2", ({req, res}) => {
    res.json({ message: "test2" }) 
})

router.get("/backend/testrouter", ({req, res}) => {
    res.json({ message: "testrouter" }) 
})

router.get("/backend/testrouter2", ({req, res}) => {
  res.json({ message: "testrouter2" }) 
})

app.use((req, res) => {
  res.status(404).json({ message: 'error' });
});

app.listen(3000);

前两个端点工作,而后两个不工作

node.js express passenger express-router phusion
1个回答
0
投票

你应该使用路由器作为应用程序的中间件

const express = require("express");

const app = express();

const  router = express.Router();

// domain.com/backend/

app.use('/backend/test', (req, res) => {
  res.json({ message: 'test' })
})


app.get("/backend/test2", ({req, res}) => {
    res.json({ message: "test2" }) 
})

router.get("/backend/testrouter", ({req, res}) => {
    res.json({ message: "testrouter" }) 
})

router.get("/backend/testrouter2", ({req, res}) => {
  res.json({ message: "testrouter2" }) 
})

app.use(router) // <== add this line

app.use((req, res) => {
  res.status(404).json({ message: 'error' });
});

app.listen(3000);
© www.soinside.com 2019 - 2024. All rights reserved.