我正在开发SPA 我想管理404状态 但没有使用单独的文件夹 (在这种情况下是资产)
server.route(
{ // Angular/API Route
method: 'GET',
path: '/api',
handler: function (request, reply) {
reply( {api: 'response' } )
}
});
server.route({ // Other assets If you have
method: 'GET',
path: '/assets/{param*}',
handler: {
directory: {
path: './assets',
listing: false,
index: true
}
});
server.route({ // Everything else
method: 'GET',
path: '/{p*}',
handler: function (request, reply) {
reply.file('public/html/index.html');
}
});
我的意思是我有一个像
这样的部署
所以,如果我使用资产,我将改变我的所有部署 和gulpfile。
有没有办法在不使用的情况下管理404状态 一个额外的文件夹?
更新 到现在为止,我按照@Matt Harrison的提示进行了研究
server.ext('onPreResponse', function (request, reply) {
var req = request.response;
if (req.isBoom && (req.output.statusCode===404)) {
return reply.redirect('/#!/404');
}
return reply.continue();
});