我在客户端上使用webpack-dev-中间件以及一个使用react-router的反应应用程序。
如果我在根/
输入应用程序,一切都好,但是webpack-dev-middleware
不会提供任何路径,比如'/my-route'
server.use(webpackDevMiddleware(compiler, {
publicPath: '/'
}));
我尝试使用一个通配符,它允许所有路径通过并获取html页面,但是当页面请求main时,它似乎会出现。js
,它现在还可以获得html页面,而不是打包的javascript。
server.use('/*', webpackDevMiddleware(compiler, {
publicPath: '/'
}));
其目标是,服务器不知道的任何路由都将获得与根相同的内容,然后react router将处理在客户端上显示正确视图(或404)的问题。
任何帮助都将不胜感激。
请尝试连接历史api回退npm包,这是webpack dev server出于相同目的在引擎盖下使用的。
这对我很有效:
var history = require('connect-history-api-fallback');
server.use(history());
server.use(webpackDevMiddleware(compiler, {
publicPath: '/'
}));
我有同样的问题,我的解决方案是更新react路由器配置和react路由器dom包。无需采取进一步行动。
我从4点开始。x到5.0。1(在两个包装中)。