Udostępnij za pośrednictwem


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 programie libman.json. Wartość <PATH> jest zapisywana we defaultDestination właściwości libman.json.

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

    Dostawca do użycia, jeśli dla danej biblioteki nie zdefiniowano żadnego dostawcy. Wartość <PROVIDER> jest zapisywana we defaultProvider właściwości libman.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

    polecenie libman init — dostawca domyślny

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.jsonnie defaultDestination 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ść w libman.json pliku . Jeśli w elemecie libman.jsonnie defaultProvider 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 zawiera defaultDestination właściwości.
  • Polecenie libman install nie zawiera -d|--destination opcji .

libman install command - destination (polecenie instalacji biblioteki libman — 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ę, defaultProvider właściwość w libman.json pliku jest ignorowana.
  • Jeśli biblioteka określa miejsce docelowe, defaultDestination właściwość w libman.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.jsonprogramu .

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)
    

Dodatkowe zasoby