現在、開発者は簡単に一緒に作業することは不可能です。ミニネーションとバンドルのデバッグはオフになり、キャッシュ・バスターもオフになります。これは、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をオーバーロードしましたが、レンダリングしたときにパスが裸であった。
トランスフォームに何か問題がありましたか?これを実装する別の方法がありますか?