我們使用SquishIt作爲我們的CSS和JS,它對於緩存失效非常有效。無論何時我們更改CSS或JS,都會生成一個新的URL,這會強制瀏覽器加載更新的文件。如何使用SquishIT指定CSS圖像的URL地址
但是,資源(如背景圖片)在CSS中具有其url。當我們改變圖像時,我們在使用SquishIt之前對CSS和JS使用緩存失效方面存在同樣的問題。
默認情況下,我們的IIS設置爲提供標題以將所有圖像緩存30天,因此當圖像更新時,瀏覽器甚至不會請求它,因爲它只是從緩存中抓取它。
有沒有辦法讓SquishIt將指紋插入CSS中的圖片網址?如果我們能做到這一點,我們可以使用Url重寫來再次去除指紋並提供最新的圖像。
我想自動執行此操作,並避免在更改圖像時必須記住更新對CSS中圖像的引用。
也許我打電話.AppendHashForAssets()在你的包我誤解了AppendHashForAssets,但我認爲它會在bundle CSS文件中用/images/image.png?v=HASH取代/images/image.png?v=#。我沒有任何運氣,所以它可能是一個錯誤或我的期望已經關閉。 –
它不使用「文件名中的哈希」方法 - 只是將「(?|&){hashKeyName} = {hash}」附加到每個資產的URL(如果找到該文件並且可以計算哈希值 - 否則它將是一個沒有操作)。 – AlexCuse