如何在Express中组合Application.route()和子路由器?

时间:2015-08-11 15:18:19

标签: express

我想拥有一个带有我的应用程序的固定上下文前缀的路由,然后将子资源附加到express.Router s。

来自http://expressjs.com/api.html#router.route

  

返回您可以用来处理的单个路由的实例   带有可选中间件的HTTP动词。使用router.route()来避免   重复的路由命名,从而错字。

以下内容不起作用,因为use的返回值未定义app.route()

var app = express();
var user = express.Router();
// ...
app.route(config.context).use('/user', user);

这确实有效:

var app = express();
var user = express.Router();
// ...
app.route(config.context + '/user').all(user);

有没有办法将route()和use()结合起来,以至于我不必将config.context添加到我的所有子资源路径中?

在哪里可以找到从express().route()返回的对象的API文档?

1 个答案:

答案 0 :(得分:0)

是的,所以橡皮鸭调试又做了。这就是我最终做的事情:

var app = express();
var api = express.Router();
app.use(config.context, api);
api.use('/user', user);

express().route()看起来毫无意义。