是否将Sails.js中的所有404响应定向到单页应用程序的index.html静态资产?

是否将Sails.js中的所有404响应定向到单页应用程序的index.html静态资产?,sails.js,single-page-application,Sails.js,Single Page Application,我有一个React 16单页应用程序(使用create React app创建),它被编译到我的Sails 1.0应用程序的build目录中,我已经更新了.sailsrc,将Sails指向该目录以加载静态资产,当我加载localhost:1337时,一切都很正常:React应用程序被加载,它从我的Sails应用程序的端点提取数据 问题是,我使用的是React路由器(具有常规URL路径,而不是HashRouter),因此,在主index.html页面之外,任何应该点击React路由器的内容都会从S

我有一个React 16单页应用程序(使用
create React app
创建),它被编译到我的Sails 1.0应用程序的
build
目录中,我已经更新了
.sailsrc
,将Sails指向该目录以加载静态资产,当我加载localhost:1337时,一切都很正常:React应用程序被加载,它从我的Sails应用程序的端点提取数据

问题是,我使用的是React路由器(具有常规URL路径,而不是HashRouter),因此,在主index.html页面之外,任何应该点击React路由器的内容都会从Sails获得404。在过去几年中,我遇到了许多关于这个问题的答案:

我不想重定向到视图或控制器,我只想为任何404响应发送静态
build/index.html
文件。至于列表中的最后一个问题,我还没有弄明白如何把它和我想做的事情结合起来

通过添加
api/responses/notFound.js
和以下内容,我已经能够做到这一点:

const fs = require('fs');

const content = fs.readFileSync('build/index.html');

module.exports = function notFound () {
    return this.res.send(content.toString());
};
但这似乎很难理解有没有更好的方法来实现这一点