繁体   English   中英

node.js和URL端点中的多个路由

[英]Multiple routes in node.js and URL endpoints

app.use('/api', require('./api'));
app.use('/', require('./cms'));

第一条路线用于我的公共api,第二条路线是cms仪表板。 但这是行不通的,因为localhost:80 / api仍然会加载第二条路由。

如何解决呢? 我知道我可以做app.use('/cms', require('./cms')); 但路由将是localhost:80 / cms / blog对我来说不合适。

我认为您传递给app.use的函数具有3个参数,第三个参数是next()回调,它将调用下一个中间件。

如果您按以下方式定义函数,并且不调用next,则它不应触发下一个中间件(也可能路由)。

app.use('/api', function(req, res, next) {
    require('./api');
});

无论您的需求文件包含什么,它都可能会接收“ next”功能作为其参数。 不要叫它。

更新:此外,在您的中间件中,调用res.end()退出其他路由

您的./cms文件中包含什么? 可能是服务器没有关闭响应,所以它继续进行下一条路由。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM