LibMan czyli biblioteki frontendowe w projekcie ASP.NET Core

25 lipca 2020 o 23:13 Autor:

Właśnie zacząłem tworzenie nowego projektu. Postanowiłem wrócić do korzeni i odejść od pisania API i aplikacji klienckiej. Bo tylko takie projekty pisałem z użyciem ASP.NET w wersji Core. Dlatego tym razem decyzja była taka, żeby utworzyć projekt w ASP.NET Core MVC.

I robiąc to oczywiście potrzebuję nie tylko zarządzać kodem backendowym ale też dodawać biblioteki frontendowe. W końcu taki Bootstrap by się przydał.

Ale ponieważ od czasu „starego MVC” trochę się w strukturze projektu zmieniło to zacząłem szukać jak najlepiej teraz takie dodawanie realizować. I w ten sposób dowiedziałem się o narzędziu LibMan.

Sama nazwa przewijała mi się tu i ówdzie ale jakoś nigdy nie musiałem się nim interesować. Aż do teraz.

Czym jest LibMan?

I czym ten LibMan jest? Otóż jak już sama nazwa wskazuje jest to manager bibliotek. Konkretnie tych frontendowych. I jest to dzieło Microsoftu. Projekt jest dostępny na GitHubie pod TYM LINKIEM.

Nie jest to do końca konkurencja dla np. NPMa. Raczej jest to jego lżejszy ale też mniej zaawansowany substytut. Sam Microsoft pisze, że zaleca używanie LibMana przede wszystkim tam gdzie zespół nie ma wybranego ulubionego narzędzia i potrzebuje przede wszystkim prostej i szybkiej obsługi bibliotek frontendowych.

Można z niego korzystać zarówno poprzez menu w Visual Studio jak i z poziomu konsoli.

Jeżeli korzystałeś z NPMa to na pewno zobaczysz podobieństwo chociażby w pliku z listą zależności.

Lista zainstalowanych bibliotek

Jeżeli chcę zobaczyć plik z listą zainstalowanych bibliotek to mogę wybrać w menu odpowiednią opcję. Mając otwartą solucję z projektem w ASP.NET Core MVC otwieram menu kontekstowe projektu i mam tam dostępną opcję zarządzania bibliotekami client-side.

Ale jeśli raz tę opcję wybrałem albo po prostu już instalowałem biblioteki z użyciem LibMana to mam już w projekcie plik libman.json. Więc mogę go po prostu otworzyć. W tym momencie wygląda on u mnie w ten sposób:

Instalowanie bibliotek

Chcąc zainstalować nowy pakiet mogę to zrobić przez menu dodawania nowych elementów do projektu. Mam tam dostępną opcję dodawania bibliotek frontendowych:

Wtedy pojawia się okno gdzie można wyszukać bibliotekę. Domyślnie przeszukiwana jest baza cdnjs i prawdopodobnie nie będziesz musiał tego zmieniać. Przykładowo jeśli chcę dodać jQuery to wygląda to w ten sposób:

Kiedy znajdę to co szukam to po prostu wybieram z listy i wtedy samo narzędzie dopisuje najnowszą wersję (którą można zmieć) i wyświetla listę plików, które będą zainstalowane.

Jeśli nie potrzebujemy wybrać konkretnych plików to po prostu zostawiamy jak jest i klikamy Install:

I już mamy jQuery w projekcie, w folderze, który będzie potem kopiowany przy publikowaniu projektu.

Ostatnia sprawa to włączenie (polecam) restorowania bibliotek frontendowych w trakcie budowania aplikacji. Wtedy nawet jak pobierzesz projekt np. z repozytorium to nie musisz pamiętać o klikaniu Restore za każdym razem bo może ktoś coś dodał i musi być zainstalowane. Włączenie opcji aby działo się to samo z siebie zabiera nam jedną rzecz do pamiętania:

I to tyle w tym momencie. Zobaczymy jak LibMan będzie się sprawdzał jeżeli chodzi o wygodę działania.

Na pewno bardzo ciekawą opcją jest łatwość aktualizowania bibliotek z poziomu edytora. Visual Studio wyświetla nam szybką akcję przez którą można zaktualizować albo usunąć bibliotekę:

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *