节点.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,那么它不应该触发下一个中间件( route 也可能(。
app.use('/api', function(req, res, next) {
require('./api');
});
无论您需要的文件包含什么,它都可能收到"next"函数作为其参数。不要叫它。
更新:另外,在你的中间件中,调用res.end((退出其他路由
你的 ./cms 文件中有什么?可能是服务器没有关闭响应,因此它继续到下一个路由。
相关文章:
- Emberjs应用程序加载在除Index之外的所有路由上
- 正在使用$location.path(.)路由ng视图
- 在AngularJS应用程序中使用封装指令和路由的推荐方式是什么
- 未激发路由的控制器属性上的观察者
- AngularJS ui路由器html5模式中断路由
- 发送json对象或使用express路由呈现视图
- 使用主干网和rails的静态页面路由
- 如何使用Passport保护路由终结点
- 有没有办法用routerLink/router.navigation附加查询/路由参数
- Nodejs和express路由,如何处理客户端的承诺
- TinyMCE实例在切换角度路由选项时会消失
- 什么'在Express中路由时,应用程序级中间件和路由器级中间件之间的区别是什么
- 使用Ampersand.js路由模块化应用程序
- Angular 2路由已弃用:如何检测CanActivate
- 格式化获取请求的路由
- 在node-js路由中发出http请求
- 无法运行php代码,有角度路由问题
- 更改路由后,运行一次js脚本
- 如何使用服务器上的react路由器处理所有可能的路由
- 基于路由的CSS样式-Angular2