我想制作我的应用程序,以便它可以安装在/
以外的某个位置。当我阅读 express-4.x res.redirect()
的文档时,它说我有三个选择:
- 绝对 URI (
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
中的信息构建它?
您可以使用
req.baseUrl
手动执行此操作(我使用的是express-4.x(。例如:
subApp.get('/blah/*', (req, res) => {
if (/dee$/.test(req.url)) {
res.end('end');
} else {
res.redirect(req.baseUrl + '/dee');
}
});