Я использую response v16 и response-router-dom v4, и у меня уже есть мои маршруты, работающие по большей части. Я использую webpack-dev-server для запуска своей среды разработки, и когда я обновляю или вручную набираю URL-адрес для приложения реакции, большую часть времени он будет работать нормально. Моя проблема в том, что когда я начинаю добавлять пути URL к маршрутам, обновление и ручная печать URL больше не будут работать.
Быстрый пример:
<Router>
<Root>
<Switch>
<Route exact path='/' component={Welcome} />
<Route path='/home' component={Home} />
<Route path='/profile/:id' component={Profile} />
<Route path='/profile/dashboard' component={Dashboard} />
<Redirect to='/' />
</Switch>
</Root>
</Router>
В этом случае в настоящее время я могу перемещаться куда угодно, когда я начинаю с момента запуска приложения, обновление также работает для маршрутов "/ home" и "/". Единственная проблема с маршрутами с дополнительным путем. Если бы мне пришлось перейти к «/ profile / dashboard» и обновить, я получу кучу 404 ошибок, говорящих о том, что все статические ссылки не работают. Похоже, веб-пакет теперь перенаправляет в папку / profile /, которой там нет. Как я могу это исправить? Это проблема с настройкой реакции-маршрутизатора-домена или настройкой веб-пакета?
Вот мой конфиг веб-пакета для моей среды разработки. Я называю это с --history-api-fallback
module.exports = {
devServer: {
inline: true,
contentBase: './',
port: 4200
},
devtool: 'cheap-module-eval-source-map',
entry: './index.js',
mode: 'development',
module: {
loaders: [
{
test: /\.js$/,
loaders: ['babel'],
exclude: /node_modules/
},
{
test: /\.scss/,
loader: 'style-loader!css-loader!sass-loader'
}
]
},
output: {
path: path.resolve(__dirname, 'dist'),
filename: 'bundle.min.js'
},
plugins: [
new webpack.optimize.OccurrenceOrderPlugin(),
new HtmlWebpackPlugin({
template: './index.html'
})
]
};