Javascript Express.js-使用路由参数时如何处理404页

Javascript Express.js-使用路由参数时如何处理404页,javascript,node.js,express,routing,Javascript,Node.js,Express,Routing,当我试图捕获带有动态参数的URL时,如何处理404页?例如,/:id 下面的代码永远不会达到404的最后一条规则,Express总是尝试打开html文件,即使它们不存在 const express=require('express'); 常量app=express(); app.use(express.static(uu dirname+/dev'); app.get('/',函数(req,res){ res.sendFile(`${\uu dirname}/dev/index.html`);

当我试图捕获带有动态参数的URL时,如何处理404页?例如,
/:id

下面的代码永远不会达到404的最后一条规则,Express总是尝试打开
html
文件,即使它们不存在

const express=require('express');
常量app=express();
app.use(express.static(uu dirname+/dev');
app.get('/',函数(req,res){
res.sendFile(`${\uu dirname}/dev/index.html`);
});
app.get('/:id',函数(req,res){
res.sendFile(`${uu dirname}/dev/pages/${req.params.id}.html`);
});
app.get('*',函数(req,res){
res.status(404.sendFile(`${u dirname}/dev/404.html`);
});
app.listen(3000,函数(){
console.log('Express服务器已启动http://localhost:3000');
});

您的代码永远不会达到404规则。您需要从动态路由本身内部处理404错误。
由于您在根路径后定义了动态参数,之后的路径将进入该路由,并且永远不会达到404规则。

也许您需要错误处理程序中间件:可能的重复似乎不是一个好的设计,我将有一个在某个路径,-app.get('/:id)后带有动态url参数的路由。