表达子域路由问题

express subdomain routing issue

我正在为我的网站使用 express-subdomain 模块,但是当我使用此代码时:

const express = require('express')
const subdomain = require('express-subdomain')
const app = express()

const apiRouter = express.Router()
apiRouter.get('/', (req, res) => {
  res.send("Welcome to the API!")
})

app.use(subdomain('api', apiRouter))

app.get('/', (req, res) => {
  res.send("Main domain - Homepage")
})

app.get('/about', (req, res) => {
  res.send("Main domain - About")
})

我得到以下结果:

所以主域的路由也被应用到子域。 我已经搜索过 Google,但没有找到 :(

任何有关如何解决此问题的帮助将不胜感激!

对于每个子域,您需要分别处理一个 404 错误:

const express = require('express')
const subdomain = require('express-subdomain')
const app = express()
const apiRouter = express.Router()

apiRouter.get('/', (req, res) => {
  res.send("Welcome to the API!")
})

apiRouter.use((req, res, next) => {
  res.status(404)
  next(new Error('Not found'))
})

app.use(subdomain('api', apiRouter))

app.get('/', (req, res) => {
  res.send("Main domain - Homepage")
})

app.get('/about', (req, res) => {
  res.send("Main domain - About")
})