目前,開發人員不可能輕鬆地一起工作。調試縮小和綁定關閉時,緩存攔截器也會關閉。這導致每個接觸javascript的開發者都必須打開每個JavaScript文件並強制刷新以確保它們不會丟失更改。如何在調試時緩存個別渲染的文件?
我發現了一些我認爲可能會工作的引用,但沒有一個實現已經完成。
第一種方法是通過IBundleTransform
將變形應用於單個束。
Public Class DebugCacheBuster
Implements IBundleTransform
Public Sub Process(context As BundleContext, response As BundleResponse) Implements IBundleTransform.Process
If BundleTable.EnableOptimizations Then
Exit Sub
End If
For Each file As BundleFile In response.Files
file.IncludedVirtualPath &= GetPathHash(HostingEnvironment.MapPath(file.IncludedVirtualPath))
Next
End Sub
End Class
這看起來很有希望,但我一直沒有得到它的工作。我試着將這個類的一個新實例添加到每個包的構造函數中,並且在創建它們之後,我也試着循環遍歷所有的包。我的中斷點被擊中,並且IncludedVirtualPath
似乎已經更新。繼續渲染路徑不更新後。
我還嘗試創建自定義VirtualPathProvider
和自定義VirtualFile
,並覆蓋VirtualPath以返回正確的值,但再次顯示時,路徑爲空。
我對轉換做了什麼錯誤嗎?有沒有其他的方式來實現這一點?