显然,添加路由以表达的典型示例如下所示:
var express = require('express');
var app = express();
app.get('/', function(req, res){
res.send('hello world');
});
app.listen(3000);
显然,在大多数情况下,您知道服务器开始侦听之前存在get
路由。但是如果你想在服务器监听时动态创建新路由怎么办?换句话说,我想做类似以下的事情:
var express = require('express');
var app = express();
app.listen(3000, function () {
app.get('/', function(req, res){
res.send('hello world');
});
});
实际上,路由的回调显然是从某个远程源动态提取的。我已经测试了上面的代码,一切看起来都运行正常,但是,我希望得到确认,在我继续使用这种模式之前调用app.listen之后不会出现任何意外的副作用。
注意:为了澄清,我不知道当我编写将创建快速服务器的主server.js
文件时路由是什么(因此我无法在{{1}之前创建路由}} 叫做)。在服务器启动/运行时,将从数据库中提取路由列表(及其各自的处理程序/回调函数)。
答案 0 :(得分:22)
According to TJ(Express的作者),可以在运行时添加路由。
主要问题是路由按照添加顺序进行评估,因此在运行时添加的路由优先级低于先前添加的路由。根据您的API设计,这可能或不重要。