Używanie interfejsu wiersza polecenia programu LibMan z platformą ASP.NET Core
Library Manager (LibMan) to uproszczone narzędzie do pozyskiwania bibliotek po stronie klienta. Program LibMan pobiera popularne biblioteki i platformy z systemu plików lub z sieci dostarczania zawartości (CDN). Obsługiwane sieci CDN obejmują CDNJS, jsDelivr i unpkg. Wybrane pliki bibliotek są pobierane i umieszczane w odpowiedniej lokalizacji w projekcie ASP.NET Core.
Wymagania wstępne
Instalacja
Następujące polecenie instaluje bibliotekę LibMan:
dotnet tool install -g Microsoft.Web.LibraryManager.Cli
Uwaga
Domyślnie architektura plików binarnych platformy .NET do zainstalowania reprezentuje obecnie uruchomioną architekturę systemu operacyjnego. Aby określić inną architekturę systemu operacyjnego, zobacz dotnet tool install, --arch option(Instalacja narzędzia dotnet). Aby uzyskać więcej informacji, zobacz problem z usługą GitHub dotnet/AspNetCore.Docs #29262.
Narzędzie globalne platformy .NET Core jest instalowane z pakietu NuGet Microsoft.Web.LibraryManager.Cli.
Użycie
libman
Aby wyświetlić zainstalowaną wersję libman:
libman --version
Aby wyświetlić dostępne polecenia interfejsu wiersza polecenia:
libman --help
Poprzednie polecenie wyświetla dane wyjściowe podobne do następujących:
1.0.163+g45474d37ed
Usage: libman [options] [command]
Options:
--help|-h Show help information
--version Show version information
Commands:
cache List or clean libman cache contents
clean Deletes all library files defined in libman.json from the project
init Create a new libman.json
install Add a library definition to the libman.json file, and download the
library to the specified location
restore Downloads all files from provider and saves them to specified
destination
uninstall Deletes all files for the specified library from their specified
destination, then removes the specified library definition from
libman.json
update Updates the specified library
Use "libman [command] --help" for more information about a command.
W poniższych sekcjach opisano dostępne polecenia interfejsu wiersza polecenia.
Inicjowanie biblioteki LibMan w projekcie
Polecenie libman init
tworzy plik, libman.json
jeśli nie istnieje. Plik jest tworzony przy użyciu domyślnej zawartości szablonu elementu.
Streszczenie
libman init [-d|--default-destination] [-p|--default-provider] [--verbosity]
libman init [-h|--help]
Opcje
Dla polecenia libman init
są dostępne następujące opcje:
-d|--default-destination <PATH>
Ścieżka względem bieżącego folderu. Pliki biblioteki są instalowane w tej lokalizacji, jeśli żadna właściwość nie
destination
jest zdefiniowana dla biblioteki w programielibman.json
. Wartość<PATH>
jest zapisywana wedefaultDestination
właściwościlibman.json
.-p|--default-provider <PROVIDER>
Dostawca do użycia, jeśli dla danej biblioteki nie zdefiniowano żadnego dostawcy. Wartość
<PROVIDER>
jest zapisywana wedefaultProvider
właściwościlibman.json
. Zastąp<PROVIDER>
element jedną z następujących wartości:cdnjs
filesystem
jsdelivr
unpkg
-h|--help
Pokaż informacje pomocy.
--verbosity <LEVEL>
Ustaw szczegółowość danych wyjściowych. Zastąp
<LEVEL>
element jedną z następujących wartości:quiet
normal
detailed
Przykłady
Aby utworzyć libman.json
plik w projekcie ASP.NET Core:
Przejdź do katalogu głównego projektu.
Uruchom następujące polecenie:
libman init
Wpisz nazwę dostawcy domyślnego lub naciśnij
Enter
, aby użyć domyślnego dostawcy CDNJS. Prawidłowe wartości to:cdnjs
filesystem
jsdelivr
unpkg
Plik libman.json
jest dodawany do katalogu głównego projektu z następującą zawartością:
{
"version": "1.0",
"defaultProvider": "cdnjs",
"libraries": []
}
Dodawanie plików biblioteki
Polecenie libman install
pobiera i instaluje pliki biblioteki w projekcie. Jeśli libman.json
plik nie istnieje, zostanie dodany plik. Plik libman.json
jest modyfikowany w celu przechowywania szczegółów konfiguracji plików biblioteki.
Streszczenie
libman install <LIBRARY> [-d|--destination] [--files] [-p|--provider] [--verbosity]
libman install [-h|--help]
Argumenty
LIBRARY
Nazwa biblioteki do zainstalowania. Ta nazwa może zawierać notację numeru wersji (na przykład @1.2.0
).
Opcje
Dla polecenia libman install
są dostępne następujące opcje:
-d|--destination <PATH>
Lokalizacja do zainstalowania biblioteki. Jeśli nie zostanie określony, zostanie użyta lokalizacja domyślna. Jeśli w elemecie
libman.json
niedefaultDestination
określono żadnej właściwości , ta opcja jest wymagana.Uwaga: istnieją ograniczenia dotyczące ścieżki docelowej. Jeśli na przykład źródło pakietu ma pełną strukturę projektu, a nie tylko folder dystrybucji, nie można określić przenoszenia folderu. Aby uzyskać więcej informacji, zobacz Problem #407 i Problem #702
--files <FILE>
Określ nazwę pliku do zainstalowania z biblioteki. Jeśli nie zostanie określony, zostaną zainstalowane wszystkie pliki z biblioteki. Podaj jedną
--files
opcję na plik, który ma zostać zainstalowany. Ścieżki względne są również obsługiwane. Na przykład:--files dist/browser/signalr.js
.-p|--provider <PROVIDER>
Nazwa dostawcy do użycia na potrzeby pozyskiwania biblioteki. Zastąp
<PROVIDER>
element jedną z następujących wartości:cdnjs
filesystem
jsdelivr
unpkg
Jeśli nie zostanie określona
defaultProvider
, używana jest właściwość wlibman.json
pliku . Jeśli w elemecielibman.json
niedefaultProvider
określono żadnej właściwości , ta opcja jest wymagana.
-h|--help
Pokaż informacje pomocy.
--verbosity <LEVEL>
Ustaw szczegółowość danych wyjściowych. Zastąp
<LEVEL>
element jedną z następujących wartości:quiet
normal
detailed
Przykłady
Rozważ użycie następującego pliku libman.json
:
{
"version": "1.0",
"defaultProvider": "cdnjs",
"libraries": []
}
Aby zainstalować plik jQuery w wersji 3.2.1 jquery.min.js
do folderu wwwroot/scripts/jquery przy użyciu dostawcy CDNJS:
libman install jquery@3.2.1 --provider cdnjs --destination wwwroot/scripts/jquery --files jquery.min.js
Plik libman.json
jest podobny do następującego:
{
"version": "1.0",
"defaultProvider": "cdnjs",
"libraries": [
{
"library": "jquery@3.2.1",
"destination": "wwwroot/scripts/jquery",
"files": [
"jquery.min.js"
]
}
]
}
Aby zainstalować calendar.js
pliki i calendar.css
z katalogu C:\temp\contosoCalendar\ przy użyciu dostawcy systemu plików:
libman install C:\temp\contosoCalendar\ --provider filesystem --files calendar.js --files calendar.css
Następujący monit jest wyświetlany z dwóch powodów:
- Plik
libman.json
nie zawieradefaultDestination
właściwości. - Polecenie
libman install
nie zawiera-d|--destination
opcji .
Po zaakceptowaniu domyślnego miejsca docelowego libman.json
plik będzie podobny do następującego:
{
"version": "1.0",
"defaultProvider": "cdnjs",
"libraries": [
{
"library": "jquery@3.2.1",
"destination": "wwwroot/scripts/jquery",
"files": [
"jquery.min.js"
]
},
{
"library": "C:\\temp\\contosoCalendar\\",
"provider": "filesystem",
"destination": "wwwroot/lib/contosoCalendar",
"files": [
"calendar.js",
"calendar.css"
]
}
]
}
Przywracanie plików biblioteki
Polecenie libman restore
instaluje pliki biblioteki zdefiniowane w pliku libman.json
. Obowiązują następujące zasady:
- Jeśli w katalogu głównym projektu nie istnieje żaden
libman.json
plik, zwracany jest błąd. - Jeśli biblioteka określa dostawcę,
defaultProvider
właściwość wlibman.json
pliku jest ignorowana. - Jeśli biblioteka określa miejsce docelowe,
defaultDestination
właściwość wlibman.json
pliku jest ignorowana.
Streszczenie
libman restore [--verbosity]
libman restore [-h|--help]
Opcje
Dla polecenia libman restore
są dostępne następujące opcje:
-h|--help
Pokaż informacje pomocy.
--verbosity <LEVEL>
Ustaw szczegółowość danych wyjściowych. Zastąp
<LEVEL>
element jedną z następujących wartości:quiet
normal
detailed
Przykłady
Aby przywrócić pliki biblioteki zdefiniowane w pliku libman.json
:
libman restore
Usuwanie plików biblioteki
Polecenie libman clean
usuwa pliki biblioteki, które zostały wcześniej przywrócone za pośrednictwem biblioteki LibMan. Foldery, które stają się puste po usunięciu tej operacji. Skojarzone konfiguracje plików biblioteki we libraries
właściwości nie libman.json
są usuwane.
Streszczenie
libman clean [--verbosity]
libman clean [-h|--help]
Opcje
Dla polecenia libman clean
są dostępne następujące opcje:
-h|--help
Pokaż informacje pomocy.
--verbosity <LEVEL>
Ustaw szczegółowość danych wyjściowych. Zastąp
<LEVEL>
element jedną z następujących wartości:quiet
normal
detailed
Przykłady
Aby usunąć pliki biblioteki zainstalowane za pośrednictwem biblioteki LibMan:
libman clean
Odinstalowywanie plików biblioteki
Polecenie libman uninstall
:
- Usuwa wszystkie pliki skojarzone z określoną biblioteką z miejsca docelowego w programie
libman.json
. - Usuwa skojarzona konfiguracja biblioteki z
libman.json
programu .
Błąd występuje, gdy:
- W katalogu głównym projektu nie
libman.json
istnieje żaden plik. - Określona biblioteka nie istnieje.
Jeśli zainstalowano więcej niż jedną bibliotekę o tej samej nazwie, zostanie wyświetlony monit o wybranie tej biblioteki.
Streszczenie
libman uninstall <LIBRARY> [--verbosity]
libman uninstall [-h|--help]
Argumenty
LIBRARY
Nazwa biblioteki do odinstalowania. Ta nazwa może zawierać notację numeru wersji (na przykład @1.2.0
).
Opcje
Dla polecenia libman uninstall
są dostępne następujące opcje:
-h|--help
Pokaż informacje pomocy.
--verbosity <LEVEL>
Ustaw szczegółowość danych wyjściowych. Zastąp
<LEVEL>
element jedną z następujących wartości:quiet
normal
detailed
Przykłady
Rozważ użycie następującego pliku libman.json
:
{
"version": "1.0",
"defaultProvider": "cdnjs",
"libraries": [
{
"library": "jquery@3.3.1",
"files": [
"jquery.min.js",
"jquery.js",
"jquery.min.map"
],
"destination": "wwwroot/lib/jquery/"
},
{
"provider": "unpkg",
"library": "bootstrap@4.1.3",
"destination": "wwwroot/lib/bootstrap/"
},
{
"provider": "filesystem",
"library": "C:\\temp\\lodash\\",
"files": [
"lodash.js",
"lodash.min.js"
],
"destination": "wwwroot/lib/lodash/"
}
]
}
Aby odinstalować zapytanie jQuery, jeden z następujących poleceń powiedzie się:
libman uninstall jquery
libman uninstall jquery@3.3.1
Aby odinstalować pliki Lodash zainstalowane za pośrednictwem dostawcy
filesystem
:libman uninstall C:\temp\lodash\
Aktualizowanie wersji biblioteki
Polecenie libman update
aktualizuje bibliotekę zainstalowaną za pośrednictwem biblioteki LibMan do określonej wersji.
Błąd występuje, gdy:
- W katalogu głównym projektu nie
libman.json
istnieje żaden plik. - Określona biblioteka nie istnieje.
Jeśli zainstalowano więcej niż jedną bibliotekę o tej samej nazwie, zostanie wyświetlony monit o wybranie tej biblioteki.
Streszczenie
libman update <LIBRARY> [-pre] [--to] [--verbosity]
libman update [-h|--help]
Argumenty
LIBRARY
Nazwa biblioteki do zaktualizowania.
Opcje
Dla polecenia libman update
są dostępne następujące opcje:
-pre
Uzyskaj najnowszą wersję wstępną biblioteki.
--to <VERSION>
Uzyskaj określoną wersję biblioteki.
-h|--help
Pokaż informacje pomocy.
--verbosity <LEVEL>
Ustaw szczegółowość danych wyjściowych. Zastąp
<LEVEL>
element jedną z następujących wartości:quiet
normal
detailed
Przykłady
Aby zaktualizować zapytanie jQuery do najnowszej wersji:
libman update jquery
Aby zaktualizować jQuery do wersji 3.3.1:
libman update jquery --to 3.3.1
Aby zaktualizować zapytanie jQuery do najnowszej wersji wstępnej:
libman update jquery -pre
Zarządzanie pamięcią podręczną biblioteki
Polecenie libman cache
zarządza pamięcią podręczną biblioteki LibMan. Dostawca filesystem
nie używa pamięci podręcznej biblioteki.
Streszczenie
libman cache clean [<PROVIDER>] [--verbosity]
libman cache list [--files] [--libraries] [--verbosity]
libman cache [-h|--help]
Argumenty
PROVIDER
Używane tylko z poleceniem clean
. Określa pamięć podręczną dostawcy do czyszczenia. Prawidłowe wartości to:
cdnjs
filesystem
jsdelivr
unpkg
Opcje
Dla polecenia libman cache
są dostępne następujące opcje:
--files
Wyświetl listę nazw plików, które są buforowane.
--libraries
Wyświetl listę nazw bibliotek, które są buforowane.
-h|--help
Pokaż informacje pomocy.
--verbosity <LEVEL>
Ustaw szczegółowość danych wyjściowych. Zastąp
<LEVEL>
element jedną z następujących wartości:quiet
normal
detailed
Przykłady
Aby wyświetlić nazwy buforowanych bibliotek na dostawcę, użyj jednego z następujących poleceń:
libman cache list
libman cache list --libraries
Wyświetlane są dane wyjściowe podobne do następujących:
Cache contents: --------------- unpkg: knockout react vue cdnjs: font-awesome jquery knockout lodash.js react
Aby wyświetlić nazwy buforowanych plików bibliotek na dostawcę:
libman cache list --files
Wyświetlane są dane wyjściowe podobne do następujących:
Cache contents: --------------- unpkg: knockout: <list omitted for brevity> react: <list omitted for brevity> vue: <list omitted for brevity> cdnjs: font-awesome metadata.json jquery metadata.json 3.2.1\core.js 3.2.1\jquery.js 3.2.1\jquery.min.js 3.2.1\jquery.min.map 3.2.1\jquery.slim.js 3.2.1\jquery.slim.min.js 3.2.1\jquery.slim.min.map 3.3.1\core.js 3.3.1\jquery.js 3.3.1\jquery.min.js 3.3.1\jquery.min.map 3.3.1\jquery.slim.js 3.3.1\jquery.slim.min.js 3.3.1\jquery.slim.min.map knockout metadata.json 3.4.2\knockout-debug.js 3.4.2\knockout-min.js lodash.js metadata.json 4.17.10\lodash.js 4.17.10\lodash.min.js react metadata.json
Zwróć uwagę, że powyższe dane wyjściowe pokazują, że wersje jQuery w wersji 3.2.1 i 3.3.1 są buforowane w ramach dostawcy CDNJS.
Aby opróżnić pamięć podręczną biblioteki dla dostawcy CDNJS:
libman cache clean cdnjs
Po opróżnieniu pamięci podręcznej
libman cache list
dostawcy CDNJS polecenie wyświetli następujące polecenie:Cache contents: --------------- unpkg: knockout react vue cdnjs: (empty)
Aby opróżnić pamięć podręczną dla wszystkich obsługiwanych dostawców:
libman cache clean
Po opróżnieniu wszystkich pamięci podręcznych dostawcy
libman cache list
polecenie wyświetli następujące polecenie:Cache contents: --------------- unpkg: (empty) cdnjs: (empty)