Blazor Server com HotReload


Que tal implementar o hot reload em aplicações Blazor Server ?

Esta é uma dica dada por Thijs Tijsma em seu blog. Veja o artigo original neste link: https://thijstijsma.nl/blog/

Para poder implementar o Hot Reload em aplicações Blazor Server basta fazer o seguinte:

Em seu projeto Blazor Server, na pasta wwwroot crie um arquivo JavaScript:

1- HotReload.js


window.Blazor.defaultReconnectionHandler.onConnectionDown = function () {
	window.location.reload();
};

Aqui estamos usando uma API do Blazor que faz o reload da página quando a conexão SignalR se perde.

A seguir inclua a referência ao arquivo Javascript criado no arquivo _Host.cshtml do projeto logo após a referência ao blazor.server.js:

@page "/"
@namespace Blazor_ApiDados.Pages
@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
@{
    Layout = null;
}
<!DOCTYPE html>
<html lang="en">
<head>
    ...
    <script src="_framework/blazor.server.js"></script>

    <environment include="Development">
        <script src="~/HotReload.js"></script>
    </environment>

</body>
</html>

E pronto...

Execute o seu projeto, faça uma alteração no código e abra no navegador novamente e voilá...

Referências:


José Carlos Macoratti