.NET Core - Bower

O Bower é um ótimo gerenciador de pacotes quando falamos em frontend, ou seja, estruturas que são executadas no cliente para projetos web. Ele vem para preencher o espaço que não é suprido pelo NuGet.

A má notícia

O Bower está passando por manutenções "buáááááá", mas não precisa se desesperar, vamos a alguns detalhes importantes.
O próprio site do Bower mostra como realizar a migração para o Yarn, Webpack ou Parcel.
Sempre há um porém, neste caso é a complexidade de realizar essa migração que depende de instalações e configurações do Visual Studio.
Se alguém conseguir completar essas etapas com maestria e permitir o funcionamento tão bem como o Bower, entre em contato que eu faço um post contando detalhes e ainda dou total crédito, mas tem que ser algo simples!!

Instalação

Na maioria das vezes não é necessário instalar nada, mas tudo depende de como seu PC está configurado e quais ferramentas você utiliza.
Se você tiver o npm já instalado, basta digitar o comando a seguir dentro do próprio Visual Studio (Package Manager Console), senão sugiro que você instale o Node.js, é um bom argumento para quem sabe aprender algo novo, o Node.js instala o pacote do npm.

npm install -g bower

Como configurar

O site da Microsoft fala sobre o Bower mas não mostra todas as pegadinhas do funcionamento e após algumas pesquisas e de testar algumas possibilidades, a configuração ideal depende apenas da criação de 2 (dois) arquivos na raiz da solução web.

  • bower.json
  • .bowerrc (sim, isso mesmo, inicia com "." e não possui extensão)

No Visual Studio os arquivos ficam conforme a imagem a seguir.

alt

bower.json

Através do arquivo bower.json é possível configurar os pacotes, o intelissense vai ajudar na consulta do nome do pacote e também na versão.

{
  "name": "asp.net",
  "private": true,
  "dependencies": {
    "jquery": "3.3.1",
    "jquery-validation": "1.17.0",
    "jquery-validation-unobtrusive": "v3.2.10",
    "bootstrap": "v4.1.1"
  },
  "resolutions": {
    "jquery": "3.3.1",
    "jquery-validation-unobtrusive": "v3.2.10"
  }
}

.bowerrc

Para soluções dos novos templates do .NET Core podemos configurar nesse arquivo onde as libs serão baixadas e instaladas, comumente isso é feito no caminho wwwroot/lib através da chave directory do json.
Caso você encontre algum erro na hora da instalação de um pacote, não esqueça que o Bower está sendo descontinuado, mas para que ele continue funcionando, crie a chave registry no json, isso vai resolver seu problema.

{
  "directory": "wwwroot/lib",  
  "registry": "https://registry.bower.io"
}

Bower package manager

Com um clique do botão direito do mouse sobre o arquivo bower.json, você terá acesso ao package manager do Bower, igualzinho ao NuGet, através dele você pode atualizar e instalar novos pacotes.

alt

Uma dica importante é, ao utilizar o Manage Bower Packages deixar o arquivo bower.json já com check-out em caso de estar utilizando algum controle de versão que valide o check-out no servidor, como o TFS (Team Foundation Server) por exemplo. Esse favor influencia no uso do gerenciador dos pacotes do bower.

Atualização de pacotes

Eventualmente existem situações que podem ocorrer e um determinado pacote não ser atualizado ao salvar as alterações do arquivo bower.json, caso isso ocorra, utilize o botão direito do mouse sobre o arquivo e escolha a opção update packages isso vai fazer com que aconteça um restore e atualização dos pacotes conforme as versões definidas. Essa opção é bacana quando grandes times trabalham em um mesmo projeto e para não precisar colocar esses pacotes do controle de versão (o que não é uma boa prática) o update vai ajudar bastante.

alt

Conclusão

Não esqueça que o Bower está passando por manutenções, até lá utilize-o, mantenha suas libs sempre atualizadas e com fácil manutenção, sem a necessidade de CTRL + C, CTRL + V dos pacotes.