首页 > 解决方案 > 文件夹挂载应用程序上的 Express 中间件

问题描述

我有一个 Express.js 应用程序在https://mydomain.tld/folder上运行。它设置了路由中间件

app.use('/path', middleware)

但只有“/”路径的一个工作正常。我猜这是因为 Express 在https://mydomain.tld/path而不是https ://mydomain.tld/folder/path 上寻找请求。

如何让 Express 处理对https://mydomain.tld/folder/path的请求(最好不必对路径进行硬编码)?

标签: node.jsexpressweb-applicationsmiddleware

解决方案


使用路由器:

// myRouter.js

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

router.get('/path', middleware)

// other routes...

module.exports = router

现在您可以将路由器与您想要的相对路径一起使用:

var myRouter = require('./myRouter')

app.use('/folder', myRouter)

推荐阅读