javascript - 使用 Express 指定特定路径

标签 javascript express

我无法让 .get() 正常工作。我对 .use() 与 .get() 的理解是 .use() 用于我们想要应用内容的路径,而 .get() 更具体(选择要应用的特定网址)

在我的示例中,我想对任何页码显示“适用于所有页面”,但如果我输入“/28”,我希望显示 .get 消息。现在,即使我转到/28,我也会收到 .use 消息。

router.use('/:id', function(req, res){
   console.log("Things " + Date.now());
   res.send('Applies to all pages ' + req.params.id);

});


router.get('/28', function(req, res){
   res.send('Secret 28 page');
});

最佳答案

use 方法用于将所有 http 谓词从您的 Express app 或表达路由器。使用use时必须考虑优先级。在这里,发生的情况是,您已经在动态路由器中使用了 use 作为 router.use('/:id', ...) ,这将需要 也获取请求。

您可以先使用get路由器,这样它只接受/28中的get请求,并将所有未处理的请求转移到其他路径。

router.get('/28', function(req, res){
   res.send('Secret 28 page');
});

router.use('/:id', function(req, res){
   console.log("Things " + Date.now());
   res.send('Applies to all pages ' + req.params.id);

});

关于javascript - 使用 Express 指定特定路径,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45539926/

相关文章:

node.js - Express/Socket.io : The right way for one socket per request

javascript - 在没有 JQuery 的情况下触发此不可检测元素的 .click() 事件

javascript - typescript 输出脚手架的问题(保持结构)

javascript - Express Js : Router. use() 需要中间件函数

node.js - React.JS - 完全不在 Node 中安装 - Express View 模板

jquery - 如何设置授权 header value ?

javascript - 创建 img 元素并附加到 dom 没有终止

javascript - 显示所有移动设备的警报

javascript - 将字符串转换为int数组

android - 在 Android 设备上的 google chrome 浏览器上从 node.js 服务器下载文件的错误