2015-09-15 37 views
10

我用的WebPack作爲一個模塊捆綁鉻有時緩存的WebPack://腳本wierdly

我有地圖文件啓用

在Chrome我原來的腳本文件來自一個特殊的WebPack資源 enter image description here

我不太確定是什麼原因造成的,但有時腳本的舊版本會被緩存。實際的新代碼仍然正確更新,但映射引用的版本已過期。這意味着行號不再匹配,我不能看到任何代碼更改(例如超級煩人)。

它似乎最終只是修復自己,但同時讓我傷心。

有沒有其他人有類似的問題/有任何想法如何整理出來?

這似乎是獨立於瀏覽器(如果我去其他瀏覽器的正確版本被加載)

我曾嘗試:

  • 刪除映射文件和regening它
  • 空高速緩存和硬重新加載
  • 手動導航到鉻文件(正確的版本返回,但它仍然過時的地圖文件重新刷新)
+0

是的,我也有這個問題。 標準緩存清理不能解決它。我發現的唯一解決方案是以這種方式清除緩存:轉到Devtools中的Network選項卡,按右鍵並單擊「清除瀏覽器緩存」。 – Kreozot

回答

4

我發現這是由緩存的實際映射文件引起的。

如果你在新標籤中打開地圖文件和硬重新加載它的來源是所有正確更新

它大概在Chrome,這是不是與開發工具重新加載錯誤禁用緩存設置或頁面硬重新加載。

+0

除了手動刷新頁面以查看更新後的源圖,您是否找出解決方案?你使用熱重載(熱模塊更換)嗎?我遇到了你用熱重載描述的問題(代碼本身被注入頁面,但源地圖已經過時)。它發生在「source-map」(其中生成單獨的源映射文件)和「eval-source-map」(源映射嵌入到源文件中)的情況下。 –

+0

@JasonFrank可悲的是我解決它的唯一方法是手動刷新地圖文件。當時我沒有使用熱裝,但它的問題相同。我不確定它是否僅限於Chrome或Webkit。如果它真的很痛苦,那麼在另一個瀏覽器中可能不會那麼糟糕。 –

+0

這仍然是一個噩夢在鉻 – SuperUberDuper