Pie*_*erc 4 node.js reactjs koa webpack koa-router
我有一个反应应用程序。我使用 webpack 进行生产构建。现在我尝试设置一个小型 koa 服务器来为生产环境提供 webpack 生成的静态文件。
所以我这样做了
import Koa from 'koa'
import serve from 'koa-static'
const app = new Koa()
app.use(serve('dist/'))
app.listen(3001)
Run Code Online (Sandbox Code Playgroud)
dist/
文件(index.html、bundle 等)所在的目录在哪里。这效果很好,但仅适用于路线“/”(localhost:3001 /)在我的应用程序中,我使用反应路由器,因此我需要以示例方式转到/登录(localhost:3001/login)。但当我尝试时,我得到“未找到”。对于 devServer(通过 webpack),这条路线效果很好。我只需要始终服务/dist,无论路线如何。如何做这个白相思木?
小智 6
一种选择是拦截 Koa 中的 React-router 客户端路由并将其重写为“/”以加载 index.html 和客户端资产。
const REACT_ROUTER_PATHS = [
'/login',
'/logout',
'/other-client-path'
];
app
.use(async (ctx, next) => {
if (REACT_ROUTER_PATHS.includes(ctx.request.path)) {
ctx.request.path = '/';
}
await next();
})
.use(serve('dist/'));
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
2044 次 |
最近记录: |