我想制作我的应用,以便可以将其安装在/
以外的某个位置。当我阅读express-4.x的res.redirect()
文档时,它说我有三个选择:
http://example.org/path/nested
)/path/nested
)nested
)我没有看到应用程序相对重定向的任何选项。
应用程序如何在另一个应用程序中安装的示例:
'use strict';
const express = require('express');
const app = express();
module.exports = app;
const subApp = express();
app.use('/subApp', subApp);
subApp.get('/blah/*', (req, res) => {
if (/dee$/.test(req.url)) {
res.end('end');
} else {
res.redirect('dee');
}
});
如何重定向到subApp
的根URI,而不需要subApp
中的代码知道其挂载点?也许我可以通过req
中的信息来构建它?
答案 0 :(得分:3)
您可以使用req.baseUrl
手动执行此操作(我正在使用express-4.x)。例如:
subApp.get('/blah/*', (req, res) => {
if (/dee$/.test(req.url)) {
res.end('end');
} else {
res.redirect(req.baseUrl + '/dee');
}
});