我希望能够在包含参数的 uri 上安装整个 express 子应用程序。我有类似以下内容:
在 app.js 中:
var app_authors = require('./api/authors');
var app = express();
...
app.use('/api/authors', app_authors);
...
module.exports = app;
在 api/authors.js 中:
var app_author_books = require('./api/books');
var app = express();
...
app.get('/:author', ...);
...
app.use('/:author/books', app_author_books);
...
module.exports = app;
虽然第一个子应用程序可以工作,安装在 上/api/authors
,但嵌套的子应用程序不能(/api/authors/:author/books
无法识别表单和类似的 URL)
编辑:
对于好奇的人,AFAIK 子应用程序没有很清楚的文档记录,但它们应该可以工作,至少根据TJ Holowaychuk 的 Modular web applications with Node.js and Express(以及相关的 vimeo截屏视频)。另请参阅this other SO answer。