首页 > 解决方案 > Express - 使用 express.static 时路由不起作用

问题描述

我已经构建了一个从 create-react-app 开始的项目。我正在尝试用快递服务它。它可以工作,但是当我尝试去其他路线时,这些路线不起作用,我的 React 应用程序页面是唯一出现的一件事。你能解释一下为什么吗?这是我的代码。

const express = require('express');
const path = require('path');

const app = express();
const router = express.Router();

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

router.get('/api', (req, res) => {
    res.send("API endpoints! ;)")
});

router.get('/*', function (req, res) {
    res.sendFile(path.join(__dirname, 'build', 'index.html'));
});

app.listen(8080, () => {
    console.log('Listening on 8080');
})

我已经尝试过那里的解决方案,`express.static()` 不断从路由中路由我的文件,但它不起作用。

标签: javascriptreactjsexpress

解决方案


我想我知道出了什么问题...确保在更改代码时重新启动后端或在开发时使用 nodemon。

你的代码看起来不错。


推荐阅读