javascript - Express 应用程序的 Route 404.html

标签 javascript html node.js express

我看过很多解决这个问题的帖子,但似乎没有一个对我有用,而且许多解决方案都使用已弃用的方法。

我已经设置了静态文件目录:

app.use(express.static(__dirname + "/public", {maxAge: 86400000*30 }));

然后我在该公共(public)目录中有一个自定义 404.html 页面。现在,任何不正确的 URL 都应该被路由到该 404.html 页面。我尝试了以下方法:

app.use(function(req, res, next){
  res.render("404.html", { url: req.url });
});

但是我得到了回应:

Error: Cannot find module 'html'

我做错了什么,为什么这么简单的事情这么难?

最佳答案

在所有其他中间件和路由处理程序之后放置类似这样的内容:

app.use(function(req, res) {
  res.sendFile(__dirname + '/public/404.html');
});

关于javascript - Express 应用程序的 Route 404.html,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27754871/

相关文章:

node.js - Express.js 虚拟主机子域设置

javascript - 如何在一页上有多个时钟?

javascript - 如何在JS函数中使用JSON数据?

html - 带有可悬停下拉菜单的文本框淡入淡出

ajax - ExpressJS 后端挂起太多请求

node.js - mongoose - 子文档数组未保存在父文档中

javascript - 如何使用 javascript 进行日计时器?

javascript - 为javascript插入的元素添加点击事件

jquery - Bootstrap Gallery 空白区域

javascript - android javascript正则表达式检测