質問が1つだけあります。ブレザーアプリをホットリロードする方法はありますか?少なくとも、.razorファイル?現在、ローカルでアプリをホストしていますIIS(IIS express)ではありません)。
インターネットで調べていましたが、役に立たなかったです。
アンサリングありがとうございました:)
Blazorプロジェクトに取り組んでいる@ danroth27によると、2020年11月に予定されている.NET 5のホットリロードが計画されています。
https://github.com/dotnet/aspnetcore/issues/5456#issuecomment-584219488
@MauricioAtanacheが言うように、ドットネット監視を使用できますが、監視するファイルを追加することを忘れないでください。例:
dotnet watch --project BlazorTest.Server run
BlazorTest.Server.csprojファイル:
<ItemGroup>
<Watch Include="..\**\*.razor" />
<Watch Include="..\**\*.scss" />
<Watch Include="..\**\*.cs" />
</ItemGroup>
ただし、サーバーを再起動するため、ホットリロードはtrueではありませんが、ブラウザーで手動で更新する必要があります。
これを解決するには、browser-sync
ウェブアプリのプロキシとして設定します。
例:
browser-sync start --proxy http://localhost:50000/ --files '**/*.cshtml, **/*.css, **/*.js, **/*.htm*'
https://weblog.west-wind.com/posts/2019/May/18/Live-Reloading-Server-Side-ASPNET-Core-Apps
@martaspによるBlazorLiveReload
というGithub上のプロジェクトもあり、ページを更新せずにBlazor Live Reloadを処理することになっています。
著者から:
かみそりエンジンバージョン3を使用してコンポーネントをc#クラスにコンパイルします。次に、Roslynコンパイラーを使用して、これらのクラスをAssemblyにコンパイルしました。最後に、リフレクションを使用してアセンブリからapp.razorコンポーネントをロードし、Steve Sanderson Test Hostで変更したライブラリを使用して、コンポーネントをプレーンHTMLに変換しました。 HTMLファイルをリアルタイムで提供するために、WebSocketを使用して全二重通信を行いました。
私は自分でこのプロジェクトをテストしていないので、うまくいくかどうかはわかりません。
https://github.com/martasp/BlazorLiveReload
問題に関する一般的なスレッド:
LiveSharpでステートフルBlazorホットリロードがサポートされるようになりました( https://www.livesharp.net )
あなたはそれがここで機能しているのを見ることができます: https://www.youtube.com/watch?v=MCh5-44UBpM
免責事項:私は作者です