【发布时间】:2016-07-03 12:51:33
【问题描述】:
我想在express 中实现以下路由的优先级(按此顺序):自定义 url、静态文件、错误页面。
目前我是这样做的:
let router = express.Router();
// custom urls (defined by me)
router.get("/foo", ...);
app.use(router);
// static files
app.use("/", express.static("path/to/public"));
// error pages (404, 500):
router.use((req, res, next) => { res.send("Custom 404 page."); });
router.use((err, req, res, next) => { res.send("Custom 500 page."); });
我遇到的问题是我收到了Custom 404 page 的静态文件。如果我删除错误页面路由,静态文件可以正常工作,但我没有得到自定义 404 错误页面和 500 错误页面。
如何在保持此优先级的同时处理 400 和 500 自定义错误页面?
【问题讨论】:
-
我认为是
res.send。 -
@JasterTDCClan 是的,可能是错字。 :) 不确定,但也许
end也可以。 -
我的静态文件代码中有这个
app.use(express.static(__dirname + '/public'));。 -
当您在
javascript代码中请求类似require('/js/jquery.min.js')的内容时,express 会查看您的静态目录。
标签: javascript node.js http express