Atualização das Bibliotecas JavaScript no Scaffolding de Identidade do Blazor ASP.NET e Eliminação de CDN

Para atualizar as versões do jQuery, jQuery Validation e Unobtrusive Validation integradas no scaffolding de identidade do Blazor ASP.NET e remover dependências de CDN, siga os procedimentos técnicos descritos a seguir.

Passo 1: Atualizar a Ferramenta de Scaffolding

Primeiro, desinstale, reinstale e atualize a ferramenta dotnet-aspnet-codegenerator globalmente usando o CLI do .NET:


dotnet tool uninstall -g dotnet-aspnet-codegenerator
dotnet tool install -g dotnet-aspnet-codegenerator
dotnet tool update -g dotnet-aspnet-codegenerator

Verifique a versão instalada com o comando:


dotnet tool list -g

Isso exibirá informações como:


Package Id                     Version    Commands
---------------------------------------------------
dotnet-aspnet-codegenerator    8.0.1      dotnet-aspnet-codegenerator

Passo 2: Compreender as Opções do Gerador de Identidade

A ferramenta aspnet-codegenerator suporta vários geradores. Para identidade, use o gerador identity. As opções disponíveis incluem:


Usage: aspnet-codegenerator [arguments] [options]

Arguments:
  generator  Nome do gerador. Verifique os geradores disponíveis abaixo.

Opções:
  -p|--project             Caminho para o arquivo .csproj no projeto.
  -n|--nuget-package-dir   
  -c|--configuration       Configuração do projeto (valores possíveis: Debug/Release)
  -tfm|--target-framework  Framework de destino a usar (nome curto da pasta, ex: net7.0).
  -b|--build-base-path     
  --no-build               

Gerador de Código Selecionado: identity

Opções do Gerador:
  --dbContext|-dc      : Nome do DbContext a usar ou gerar (se não existir).
  --files|-fi          : Lista de arquivos separados por ponto e vírgula para scaffolding. Use --list-files para ver as opções.
  --listFiles|-lf      : Lista os arquivos que podem ser gerados com a opção '--files'.
  --userClass|-u       : Nome da classe User a ser gerada.
  --useSqLite|-sqlite  : Sinalizador para usar SQLite em vez de SQL Server no DbContext.
  --force|-f           : Use esta opção para substituir arquivos existentes.
  --useDefaultUI|-udui : Use esta opção para configurar a identidade e usar a Interface Padrão.
  --layout|-l          : Especifique um arquivo de layout personalizado.
  --generateLayout|-gl : Use esta opção para gerar um novo _Layout.cshtml

Para mais detalhes, consulte a documentação oficial da Microsoft.

Passo 3: Atualizar Dependências para Projetos .NET 7

Se o seu projeto foi criado com .NET 7, é crucial atualizar o pacote NuGet Microsoft.AspNetCore.Identity.UI para a versão 7.0.16. Esta versão inclui bibliotecas JavaScript atualizadas, como jquery.validate.min.js v1.19.5, eliminando a necessidade de CDN.

Para aplicar a identidade padrão, navegue até o diretório do projeto e execute o comando de scaffolding. Por exemplo, supondo que o caminho do projeto seja C:\Projetos\MeuAppBlazor:


cd C:\Projetos\MeuAppBlazor
dotnet aspnet-codegenerator identity --useDefaultUI

Este comando gera arquivos de identidade no projeto. Após a geração, modifique os caminhos de referência nos arquivos resultantes para apontar para recursos locais em vez de CDN. Por exemplo, altere URLs de CDN para caminhos relativos como /Identity/lib/jquery/jquery.min.js.

Passo 4: Publicação e Verificação

Ao publicar o projeto, os caminhos /Identity/lib/... são gerados dinamicamente durante a compilação. As bibliotecas JavaScript (jQuery, etc.) são recursos internos do pacote Microsoft.AspNetCore.Identity.UI, portanto, atualizar este pacote é a maneira recomendada de atualizar essas bibliotecas. Por exemplo, atualizar de versões anteriores para 7.0.16 garante que as versões mais recentes sejam usadas sem CDN.

Alternativa: Substituição Manual de Arquivos

Outro método envolve substituir manualmente os arquivos JavaScript após a publicação. Após gerar a saída do projeto, localize a pasta wwwroot/Identity/lib e substitua os arquivos existentes (como jQuery e jQuery Validation) por versões personalizadas baixadas localmente. Isso inclui bibliotecas como Bootstrap. Essa abordagem permite usar versões específicas de JavaScript, independentemente da versão do pacote NuGet, mas requer repetição manual a cada publicação.

Tags: Blazor ASP.NET Identity jQuery jQuery Validation Unobtrusive Validation

Publicado em 6-17 21:12