我是新手,我正在尝试用它构建一个聊天应用程序。我使用 react-router 根据 url 加载不同的组件。在我的react项目文件夹(client/src/index.js)中,代码如下:
import {BrowserRouter as Router, Route} from 'react-router-dom';
...
ReactDOM.render(
<Router>
<div>
<Route exact path='/' component={App} />
<Route path='/customer' component={CustomerPage} />
<Route path='/support/:support_id' component={SupportPage} />
</div>
</Router>,
document.getElementById('root')
);
...
当我在 react 文件夹中使用“npm start”启动它时,它会起作用。但是当我运行“npm run build”并使用 express 服务器提供静态文件时,它只能在“/”路径中提供应用程序页面,而对于“/customer”和“/support/:support_id”路径,它会加载没有什么。
在 express 服务器文件夹中,我通过以下方式加载静态文件:
服务器/app.js:
...
var indexRouter = require('./routes/index');
app.use('/static', express.static(path.join(__dirname, '../client/build//static')));
app.use('/', indexRouter);
...
服务器/路由/index.js:
...
router.get('/', function(req, res) {
res.sendFile('index.html', {root: path.join(__dirname, '../../client/build/')});
});
...
任何帮助将不胜感激!