2017-09-05 68 views
3

我的一些用戶收到此錯誤:的WebPack - 裝載塊0失敗

Unhandled rejection message: 'Loading chunk 0 failed' stack: Loading chunk 0 failed at HTMLScriptElement.n

的問題是,我在複製它沒有成功。我現在有這個錯誤一段時間了。

它出現在相同的用戶,他們進入網站。但只限於其中的一些。然而,他們都使用Win7 + Chrome 60,所以它與瀏覽器無關。

我在網上找不到任何關於此特定錯誤的內容。另外我不使用react-router,我使用反應。

任何想法還有什麼可能是錯的?

難道是由某些與安全有關的事情引起的嗎?

我使用webpack 2.6.1和CommonsChunkPlugin爲我的供應商創建塊。

用戶收到錯誤之一的用戶代理:

Mozilla/5.0 (Windo­ws NT 6.1; Win64; x6­4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/60.0.3112.113 Safari/537.36

+0

也許您的用戶正在使用阻止請求的擴展或防火牆? – Tr1et

+0

也許,我也在想,因爲webpack實際上是'jsonp' - 腳本src注入,並且如果用戶有一些高安全設置,那麼它被阻止。 (雖然它是相同的域名)或一些防火牆.. – jony89

+0

我遇到了同樣的問題,但使用動態導入(和命名塊)時。無法複製,但少數用戶定期收到此錯誤。 – Jakemmarsh

回答

1

這樣做的原因是因爲我用require.ensure用的WebPack它創建塊,並使用jsonp添加點播這個腳本,換句話說它使用創建的塊文件向腳本添加腳本src標記。

似乎有些用戶有擴展或甚至一些配置來阻止這樣的jsonp請求,無論它是否是相同的域。

一個解決方案顯然沒有使用require.ensure,或者使用錯誤回調來處理這種情況。

此外,正在尋找一種方法,webpack將使用xhr + eval加載腳本,這將阻止這種情況。 我剛剛發現這個npm模塊:https://github.com/elliottsj/xhr-eval-chunk-webpack-plugin,但我預計它會更受webpack本身的支持。

我爲此打開了一個問題:https://github.com/webpack/webpack/issues/5630,希望看到一些進展。