【发布时间】:2017-08-19 10:51:24
【问题描述】:
我正在努力解决 react-router + webpack 代码拆分 + servicer worker(或缓存)的问题。
基本上问题如下,代码拆分工作正常,但我不时收到来自 sentry.io 客户的错误报告,例如:
"Dynamic page loading failed Error: Loading chunk 19 failed."
我的 react-router 代码如下:
const errorLoading = (err) => {
console.error('Dynamic page loading failed', err);
};
export default (
<Route path="/" component={App}>
<IndexRoute
getComponent={(nextState, cb) => {
System.import('./containers/home/home')
.then((module) => { cb(null, module.default); })
.catch(errorLoading);
}}
/>
</Route>
);
对于我的 ServiceWorker,我使用具有以下配置的 OfflinePlugin:
new OfflinePlugin({
cacheName: 'cache-name',
cacheMaps: [
{
match: function(requestUrl) {
return new URL('/', location);
},
requestTypes: ['navigate']
}
],
externals: [
'assets/images/logos/slider.png',
'assets/images/banners/banner-1-320.jpg',
'assets/images/banners/banner-1-480.jpg',
'assets/images/banners/banner-1-768.jpg',
'assets/images/banners/banner-1-1024.jpg',
'assets/images/banners/banner-1-1280.jpg',
'assets/images/banners/banner-1-1400.jpg'
],
responseStrategy: 'network-first', // One of my failed attempts to fix this issue
ServiceWorker: {
output: 'my-service-worker.js'
}
})
问题与浏览器无关,因为我有来自 IE11、safari、chrome 等的报告。
关于我可能做错了什么或如何解决此问题的任何线索?
【问题讨论】:
标签: caching react-router service-worker webpack-2 code-splitting