是否可以在kraken.js应用程序中为404和500错误使用不同的模板?下面是如何启用中间件并告诉它使用什么模板。对于我的应用程序,我需要使用不同的模板,具体取决于用户所在站点的哪个部分。
"fileNotFound": {
"enabled": true,
"priority": 130,
"module": {
"name": "kraken-js/middleware/404",
"arguments": ["tamarin/errors/404"]
}
},
"serverError": {
"enabled": true,
"priority": 140,
"module": {
"name": "kraken-js/middleware/500",
"arguments": ["tamarin/errors/500"]
}
},
我可以自己修改中间件以接受多个模板和某种逻辑来选择哪个模板,但我想知道是否有其他解决方案。
答案 0 :(得分:1)
在kraken github repo上回答:https://github.com/krakenjs/kraken-js/issues/434
...
对于路径特定的404页面,您可以直接在您希望拥有不同404模板的路线上的kraken 404中间件。以下是我如何实现这一目标。
var _404 = require('kraken-js/middleware/404');
module.exports = function(router) {
router.get("/:lang?/*", _404('tamarin/admin/404'), function(req, res) {
...
这很好,因为我在config.json中配置的404模板将是默认模板,对于路由基础上我想要的任何东西都可以使用上述方法。