Reactjs 所有路由的Web包开发中间件传递
我正在使用客户端上使用react路由器的react应用程序 如果我在根目录下输入应用程序,一切都很好,但是Reactjs 所有路由的Web包开发中间件传递,reactjs,webpack,react-router,webpack-dev-middleware,Reactjs,Webpack,React Router,Webpack Dev Middleware,我正在使用客户端上使用react路由器的react应用程序 如果我在根目录下输入应用程序,一切都很好,但是webpack-dev-middleware不会提供任何带有路径的服务,比如“/my-route”` server.use(webpackDevMiddleware(compiler, { publicPath: '/' })); 我尝试使用一个通配符,它允许所有路径通过并获取html页面,但是当页面请求main.js时,它现在也获取html页面,而不是打包的javascript
webpack-dev-middleware
不会提供任何带有路径的服务,比如“/my-route”`
server.use(webpackDevMiddleware(compiler, {
publicPath: '/'
}));
我尝试使用一个通配符,它允许所有路径通过并获取html页面,但是当页面请求main.js
时,它现在也获取html页面,而不是打包的javascript
server.use('/*', webpackDevMiddleware(compiler, {
publicPath: '/'
}));
其目标是,服务器不知道的任何路由都将获得与根相同的内容,然后react router将处理在客户端上显示正确视图(或404)的问题
任何帮助都将不胜感激。请尝试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(在两个包中)。在注册所有路由之后,webpack dev server是最终的中间件吗?