javascript - 使用 React 应用程序的 Express 处理路线?

标签 javascript node.js reactjs express

我有一个 react 应用程序运行良好。我想使用快速静态来部署它。所以我已经给出了客户端中构建文件夹的快速静态路径。 '/' 路由工作正常,React 路由器从那里接手工作。但是当我刷新页面时,express无法发送构建文件,而是给出错误

尝试使用*所有路由到同一个 react 构建文件

app.use(express.static(path.join(__dirname, '../client/', 'build')));

app.get('*', function(req, res) {
    res.sendFile('index.html', function(err) {
        if (err) {
            res.status(500).send(err);
        }
    });
});

与其再次在express中写下(复制)所有路线,不如想要一个更简单的解决方案

最佳答案

尝试此设置:

app.use(express.static(path.join(__dirname, 'build')));
app.get('*', function (req, res, next) {
  res.sendFile(path.join(__dirname, 'build', 'index.html'));
});

关于javascript - 使用 React 应用程序的 Express 处理路线?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57884679/

相关文章:

node.js - 如何在 Ghost 的索引中添加帖子图片?

javascript - 是否可以等待WizardScene?

javascript - 在没有 React.memo 的情况下使用 useCallback 有什么好处吗?

java - 使用 Android Studio 虚拟设备执行任务 ':react-native-gesture-handler:compileDebugJavaWithJavac' 失败

javascript - 为什么在使用 react redux 过滤时我的原始状态会发生变化

javascript - 使用内嵌JS(CORS+AJAX请求)实现跨域安全登录

javascript - 使用多个 ObjectId 的 Mongoose 查询(带有 'ref' )

javascript - 迭代 JSON 时 NG-repeat 不起作用

javascript - 使用 HTML/CSS/JQuery 实现 WYSIWYG 报表生成器?

java - 表示项目根的符号