使用BrowserRouter管理路由打包后出现刷新404问题
博客地址:https://xiaofly.cn/post-details?id=6347e0e18c3e0077b0c3b921
项目打包后刷新出现Cannot GET /xxx时,只要在服务启动文件
加上以下内容即可解决。即当找不到对应路由时就会去到index.html页面。
app.use(function(req, res) {
const html = fs.readFileSync(path.resolve(__dirname, './dist/index.html'), 'utf-8')
res.send(html)
})
完整代码:
// app.js
const express = require('express');
const app = express();
const fs = require('fs');
const path = require('path');
//托管静态资源
app.use(express.static(path.resolve(__dirname, './dist')))
// 其他路由接口
...
// 其他路由接口
app.use(function(req, res) {
const html = fs.readFileSync(path.resolve(__dirname, './dist/index.html'), 'utf-8')
res.send(html)
})
//启动服务
app.listen(4000, res => {
console.log('Start Service On 4000');
});
完结