Включить одностраничное приложение реагировать на горячую перезагрузку веб-пакета
У меня есть некоторые проблемы при настройке одностраничного приложения реакции с использованием маршрутизатора реакции с сервером webpackdevserver. Если я использую историю браузера, у веб-пакета возникают проблемы при вводе URL-адреса вложенного маршрута (например, / client / view). Эту проблему можно решить, добавив apiFallback, но горячая перезагрузка все еще имеет проблему. Он пытается загрузить файл hot-update.json из глубокого URL-адреса (/client/view/hot-update.json), который не существует и поэтому завершается неудачей, и перезагружает страницу. Как я могу сказать hotreload всегда загружать hot-update.json из базового URL (/)?
2 ответа
У меня была похожая проблема при использовании publicPath
Кроме как ''
, который я решил, добавив запись прокси в devServer
опции:
devServer: {
// ... rest of options
proxy: {
'/myPublicPath/*': {
target: 'http://localhost:8080/',
pathRewrite: { '^/myPublicPath': '' },
}
}
Кроме этого, убедитесь, что оба output.publicPath
а также devServer.publicPath
установлен и равен.
Надеюсь это поможет!
У меня была аналогичная проблема. Сервер разработки продолжал пытаться загрузить
bundle.js
из каталога относительно URL-адреса. Мой
publicPath
является
'/'
, и, к сожалению, другой ответ не помог. Я решил проблему следующим образом:
devServer: {
// ... other options
historyApiFallback: {
rewrites: [
{ from: /^.*\/bundle\.js$/, to: '/bundle.js' },
]
}
}