2015-07-11 70 views
2

工具:JetBrains的Webstorm 10.0.4 - 這是一個非常全新的安裝,沒有插件。 Chrome版本43.該項目是香草html,CSS和JS。Webstorm的內置Web服務器文件緩存設置?

問題:在本地調試,文件有時使用內置的Web服務器時,高速緩存(我點擊運行並打開Chrome瀏覽器具有形式的URL:「http://localhost:[Port]/[ProjectName]/index.html」)。按f5將顯示緩存版本,但cntl-f5將讀取當前版本。

詳細信息:請求標頭包含「Cache-Control:max-age = 0」(無意義?)。使用「file:/// C:/ Users/[用戶名] /WebstormProjects/WebLayout/index.html」在Chrome中打開文件似乎沒有此問題,但Web服務器版本上的f5仍然會生成緩存版本。

嘗試

  1. 編輯運行/調試配置。我沒有看到任何與我正在尋找的東西有關的東西。
  2. 我試圖找到Web服務器設置手動設置響應標頭。 「文件」>「設置」>>「生成執行部署」>「部署」沒有配置服務器。我認爲這是爲了遠程推送。

投機:Chrome瀏覽器緩存Webstorm的Web服務器上的文件,因爲它不是設置爲 「no-cache」 的響應頭。我無法找到在哪裏/如何設置這些選項。

當前修復

<meta http-equiv="Cache-Control" content="no-cache, no-store, must-revalidate" /> 
<meta http-equiv="Pragma" content="no-cache" /> 
<meta http-equiv="Expires" content="0" /> 

樣品頭: 一般:

Remote Address:127.0.0.1:9129 
Request URL:http://localhost:9129/WebLayout/index.html 
    Request Method:GET 
Status Code:200 OK 

響應頭:

cache-control:private, must-revalidate 
content-length:5674 
Content-Type:text/html 
date:Mon, 13 Jul 2015 20:43:19 GMT 
last-modified:Mon, 13 Jul 2015 01:45:23 GMT 
server:WebStorm 10.0.4 

請求報頭:

Accept:text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,*/*;q=0.8 
Accept-Encoding:gzip, deflate, sdch 
Accept-Language:en-US,en;q=0.8,en-GB;q=0.6 
Cache-Control:no-cache 
Connection:keep-alive 
DNT:1 
Host:localhost:9129 
Pragma:no-cache 
User-Agent:Mozilla/5.0 (Windows NT 6.3; WOW64) ... Chrome/43.0.2357.132 Safari/537.36 
+0

我有同樣的問題。 WebStorm的服務器不斷響應我已經修改的舊版JS文件。清除緩存沒有幫助。我甚至從文件系統中刪除文件,但WebStorm仍然保持響應,如果沒有發生任何事情。 – Slav

+1

我的問題是瀏覽器。你是否在Web風暴服務器運行時編輯這些文件? –

+0

也許,不確定,但我甚至試圖清除WebStorm的服務器緩存(它也使WebStorm重啓) - 沒有幫助。目前唯一的解決方法是找到目前爲止的文件重命名,然後重新命名。 – Slav

回答

0

WebStorm內置的服務器發送 1)緩存控制:「私人的,必重新驗證」 2)最後一次修改:文件最後修改時間。

我看到兩個可能的原因: 1)WebStorm發送最後修改的錯誤文件(我們使用虛擬文件系統)。在WebStorm內部還是外部編輯index.html? 2)也許這是Google Chrome的bug。在這種情況下,我們可以添加選項以禁用「如果自修改以來」支持並始終發送「過期:0」。

你可以檢查網絡標題嗎?

+0

我只使用WebStorm進行編輯。我添加了示例標題到帖子。 運行配置說它是Javascript調試選項。我懷疑這是鉻合金。任何想法改變內置網絡服務器的設置? –