我建立我的第一個微小的鳳凰應用投放,撞上了超級討厭的問題:陳舊的靜態資產從鳳凰
每當我做出改變JS文件如web/static/js/socket.js Brunch正在接受更改並重新編譯priv/static/js/app.js。我已經驗證了這些更改實際上已正確編譯到app.js中。
但是,我無法讓服務器向客戶端提供更新的文件。 任何想法,我可以使緩存失效正常工作? 這可能是牛仔配置問題嗎?
注意:我在Vagrant框(Ubuntu)和主機(OSX)上的瀏覽器中運行服務器。
更新:這將變成一個謎!顯然,響應的內容來自緩存文件,但長度取決於磁盤上文件的長度。
實例:
echo "hey" > foo.js
(文件大小4)
爲curl http://localhost:4000/js/foo.js
響應是hey\n
printf "." > foo.js
(作品尺寸1)
響應:h
printf "1234567890" > foo.js
(文件大小10)
響應(十六進制):6865 790a 0000 0000 0000
(響應爲hey\n
後跟空白填充)
這是整頁刷新?當你在瀏覽器中重新加載頁面時,你會得到舊的'app.js'嗎?這是在dev還是prod? – Dogbert
是的,在整頁上重新加載。我正在使用cURL來確保它與瀏覽器緩存無關。它在開發中。我嘗試將一個新文件(foo.js)放入priv/static/js中,並且具有相同的問題。服務器將選取新文件,但即使在文件發生更改後,服務器也會繼續提供原始內容。 – jonasmaturana