我正在使用webpack-dev-middleware以及在客户端上使用react-router的react应用程序。
如果我在根 /
处输入应用程序,一切都很好,但是 webpack-dev-middleware
不会提供任何带有路径的内容,例如“/my-route” `
server.use(webpackDevMiddleware(compiler, {
publicPath: '/'
}));
我尝试使用通配符,它允许所有路径通过并获取html页面,但是当页面请求main.js
时,它现在也获取html页面,而不是打包的 javascript。
server.use('/*', webpackDevMiddleware(compiler, {
publicPath: '/'
}));
目标是服务器不知道的任何路由都会获得与根相同的内容,然后react-router将处理在客户端上显示正确的 View (或404)。
任何帮助将不胜感激。
最佳答案
尝试connect-history-api-fallback npm 包,webpack-dev-server 在幕后使用它来达到相同的目的。
这对我有用:
var history = require('connect-history-api-fallback');
server.use(history());
server.use(webpackDevMiddleware(compiler, {
publicPath: '/'
}));
关于reactjs - webpack-dev-middleware 传递所有路由,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43921770/