Korzystanie z narzędzia wiersza polecenia 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.

Prerequisites

Installation

Następujące polecenie instaluje bibliotekę LibMan:

dotnet tool install -g Microsoft.Web.LibraryManager.Cli

Note

Domyślnie architektura plików binarnych .NET do zainstalowania reprezentuje obecnie uruchomioną architekturę systemu operacyjnego. Aby określić inną architekturę, zapoznaj się z instrukcjami użycia dotnet tool install polecenia z opcją "--arch". Aby uzyskać więcej informacji, zobacz zgłoszenie GitHub dotnet/aspnetcore.docs nr 29262 - Add '-a arm64' on Apple Silicon.

Narzędzie globalne platformy .NET jest instalowane z pakietu NuGet.

Usage

libman

Aby wyświetlić zainstalowaną wersję libman:

libman --version

Aby wyświetlić dostępne polecenia CLI:

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 kolejnych sekcjach przedstawiono dostępne polecenia interfejsu wiersza polecenia.

Inicjowanie biblioteki LibMan w projekcie

Polecenie libman init tworzy plik libman.json, jeśli jeszcze nie istnieje. Plik jest tworzony przy użyciu domyślnej zawartości szablonu elementu.

Synopsis

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ędna do bieżącego folderu. Pliki biblioteki są instalowane w tej lokalizacji, jeśli dla biblioteki w libman.json nie zdefiniowano właściwości destination. Wartość <PATH> jest zapisywana do właściwości defaultDestination obiektu libman.json.

  • -p|--default-provider <PROVIDER>

    Dostawca do użycia, jeśli dla danej biblioteki nie zdefiniowano żadnego dostawcy. Wartość <PROVIDER> jest zapisywana do właściwości defaultProvider obiektu libman.json. Zastąp <PROVIDER> element jedną z następujących wartości:

    • cdnjs
    • filesystem
    • jsdelivr
    • unpkg
  • -h|--help

    Pokaż informacje pomocnicze.

  • --verbosity <LEVEL>

    Ustaw szczegółowość danych wyjściowych. Zastąp <LEVEL> element jedną z następujących wartości:

    • quiet
    • normal
    • detailed

Examples

Aby utworzyć plik libman.json 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

    Polecenie „libman init” — domyślny dostawca

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. Plik libman.json zostanie dodany, jeśli nie istnieje. Plik libman.json jest modyfikowany w celu przechowywania szczegółów konfiguracji plików biblioteki.

Synopsis

libman install <LIBRARY> [-d|--destination] [--files] [-p|--provider] [--verbosity]
libman install [-h|--help]

Arguments

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 elemencie libman.json nie określono właściwości defaultDestination, 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 określono inaczej, instalowane są wszystkie pliki z biblioteki. Podaj jedną --files opcję na plik, który ma zostać zainstalowany. Również ścieżki względne są 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 określono, używana jest właściwość defaultProvider w libman.json. Jeśli w elemencie libman.json nie określono właściwości defaultProvider, ta opcja jest wymagana.

  • -h|--help

    Pokaż informacje pomocnicze.

  • --verbosity <LEVEL>

    Ustaw szczegółowość danych wyjściowych. Zastąp <LEVEL> element jedną z następujących wartości:

    • quiet
    • normal
    • detailed

Examples

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ć pliki calendar.js i calendar.css z C:\temp\contosoCalendar\ za pomocą 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 zawiera defaultDestination właściwości.
  • Polecenie libman install nie zawiera -d|--destination opcji .

polecenie libman install — miejsce docelowe

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ę, właściwość defaultProvider w libman.json jest pomijana.
  • Jeśli biblioteka określa miejsce docelowe, właściwość defaultDestination w libman.json jest ignorowana.

Synopsis

libman restore [--verbosity]
libman restore [-h|--help]

Opcje

Dla polecenia libman restore są dostępne następujące opcje:

  • -h|--help

    Pokaż informacje pomocnicze.

  • --verbosity <LEVEL>

    Ustaw szczegółowość danych wyjściowych. Zastąp <LEVEL> element jedną z następujących wartości:

    • quiet
    • normal
    • detailed

Examples

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 po tej operacji staną się puste, zostaną usunięte. Powiązane konfiguracje plików biblioteki we właściwości libraries elementu libman.json nie są usuwane.

Synopsis

libman clean [--verbosity]
libman clean [-h|--help]

Opcje

Dla polecenia libman clean są dostępne następujące opcje:

  • -h|--help

    Pokaż informacje pomocnicze.

  • --verbosity <LEVEL>

    Ustaw szczegółowość danych wyjściowych. Zastąp <LEVEL> element jedną z następujących wartości:

    • quiet
    • normal
    • detailed

Examples

Aby usunąć pliki biblioteki zainstalowane przy użyciu narzędzia 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 powiązaną konfigurację biblioteki z libman.json.

Błąd występuje, gdy:

  • W katalogu głównym projektu nie istnieje żaden plik libman.json.
  • 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.

Synopsis

libman uninstall <LIBRARY> [--verbosity]
libman uninstall [-h|--help]

Arguments

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

    Wyświetl informacje pomocy.

  • --verbosity <LEVEL>

    Ustaw szczegółowość danych wyjściowych. Zastąp <LEVEL> element jedną z następujących wartości:

    • quiet
    • normal
    • detailed

Examples

Rozważ użycie następującego pliku libman.json:

{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": [
    {
      "library": "jquery@3.7.1",
      "files": [
        "jquery.min.js",
        "jquery.js",
        "jquery.min.map"
      ],
      "destination": "wwwroot/lib/jquery/"
    },
    {
      "provider": "unpkg",
      "library": "bootstrap@5.3.6",
      "destination": "wwwroot/lib/bootstrap/"
    }
  ]
}
  • Aby odinstalować jQuery, wystarczy użyć jednego z poniższych poleceń:

    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 istnieje żaden plik libman.json.
  • 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.

Synopsis

libman update <LIBRARY> [-pre] [--to] [--verbosity]
libman update [-h|--help]

Arguments

LIBRARY

Nazwa biblioteki do zaktualizowania.

Opcje

Dla polecenia libman update są dostępne następujące opcje:

  • -pre

    Pobierz najnowszą przedpremierową wersję biblioteki.

  • --to <VERSION>

    Uzyskaj określoną wersję biblioteki.

  • -h|--help

    Pokaż informacje o pomocy.

  • --verbosity <LEVEL>

    Ustaw szczegółowość danych wyjściowych. Zastąp <LEVEL> element jedną z następujących wartości:

    • quiet
    • normal
    • detailed

Examples

  • Aby zaktualizować jQuery do najnowszej wersji:

    libman update jquery
    
  • Aby zaktualizować jQuery do wersji 3.3.1:

    libman update jquery --to 3.3.1
    
  • Aby zaktualizować jQuery do najnowszej wersji przedpremierowej:

    libman update jquery -pre
    

Zarządzaj 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.

Synopsis

libman cache clean [<PROVIDER>] [--verbosity]
libman cache list [--files] [--libraries] [--verbosity]
libman cache [-h|--help]

Arguments

PROVIDER

Używane tylko z poleceniem clean . Określa pamięć podręczną dostawcy, która ma zostać wyczyszczona. 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 pomocnicze.

  • --verbosity <LEVEL>

    Ustaw szczegółowość danych wyjściowych. Zastąp <LEVEL> element jedną z następujących wartości:

    • quiet
    • normal
    • detailed

Examples

  • 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 dla każdego dostawcy:

    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 wyczyścić pamięć podręczną biblioteki dla dostawcy CDNJS:

    libman cache clean cdnjs
    

    Po opróżnieniu pamięci podręcznej dostawcy CDNJS polecenie libman cache list wyświetla następujące informacje:

    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 dostawców polecenie libman cache list wyświetla następujące informacje:

    Cache contents:
    ---------------
    unpkg:
        (empty)
    cdnjs:
        (empty)
    

Dodatkowe zasoby