有没有办法让 Blazor WebAssembly 重新编译.razor
文件更改/更新然后保存时?我已经习惯了这种情况在传统的 ASP.NET Core MVC razor 视图以及客户端框架(如 Angular)中发生。
在 ASP.NET Core MVC >3.0 中,类似services.AddRazorPages().AddRazorRuntimeCompilation();
可以解决这个问题,但我找不到 Blazor 的任何东西。
当我需要停止整个应用程序并重新启动它以查看最新的更改时,这很烦人。默认情况下Main
新 Blazor 应用程序的方法如下所示
public static async Task Main(string[] args)
{
var builder = WebAssemblyHostBuilder.CreateDefault(args);
builder.RootComponents.Add<App>("app");
builder.Services.AddTransient(sp => new HttpClient { BaseAddress = new Uri(builder.HostEnvironment.BaseAddress) });
await builder.Build().RunAsync();
}
我在这里缺少什么? Blazor WASM 还没有出现吗?我对一些有点古怪的事情持开放态度dotnet watch
dotnet build
如果这是一个解决方案。
从 .NET 5.0 和 VS 16.8.1 开始,它看起来不像 Angular 或 React 项目那样有内置的 HMR,您可以在其中更改代码并刷新浏览器。
根据我发现的信息,此功能预计适用于 .NET 6,但有解决方法可以使其正常工作,虽然有点麻烦,但确实有效。
如果您使用以下命令运行 .NET 项目dotnet watch --project "{PathToServer}/{YourServerProject}.csproj" run
它不会启动调试或按 F5,而是监视项目文件中的任何更改,包括.razor
文件并重新编译它们。
截至目前,浏览器将显示一条消息,表明它失去了与服务器的连接,并且似乎没有重新建立连接。您需要手动刷新浏览器,所有更改都会显示,但您将丢失任何应用程序状态。
他们现在拥有的最好的,请参阅此线程以获取更多信息 https://github.com/dotnet/aspnetcore/issues/5456
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)