无论路由如何如何从Hapijs服务器提供React页面

时间:2019-03-18 18:53:57

标签: node.js reactjs hapijs

我有一个提供api路由的hapijs服务器和一个React应用程序。我使用inert和带有目录参数的处理程序为react应用程序提供服务。但是,由于我在路径{param *}中使用的参数将自动为'index.html'提供服务,因此hapijs仅在没有参数的情况下为react页面提供服务。这是有道理的,因为hapi会在目录中查找参数并以错误404进行响应。

现在,我想发生的事情是hapi不管参数(甚至是路由)如何为react页面提供服务,并让react处理404错误。我似乎找不到合法的解决方案。使用目录处理程序将不允许使用404,而使用函数处理程序为页面提供服务将为没有CSS或js脚本的页面提供服务。

我使用了以下教程并阅读了其他教程,但无济于事。 https://medium.com/@notrab/using-create-react-app-with-hapi-js-8f4ef3dcd311

.parseDefaulting(ChronoField.DAY_OF_MONTH, 1)

1 个答案:

答案 0 :(得分:0)

使用Inert时,由于已将relativeTo设置为已经解析client/build目录,因此无需再次放入完整路径。

您也可以完全删除index: ['index.html'],因为它将默认为查找索引文件

module.exports.register = function(server, options, next) {
server.route({
    method: 'GET',
    path: '/{param*}',
    handler: {
        directory: { path: '.' }
    }
})