Freigeben über


Verwenden der LibMan-CLI mit ASP.NET Core

Der Bibliotheks-Manager (LibMan) ist ein einfaches, clientseitiges Tool zum Bibliothekserwerb. LibMan lädt beliebte Bibliotheken und Frameworks vom Dateisystem oder von einem Content Delivery Network (CDN) herunter. Die unterstützten CDNs sind z. B. CDNJS, jsDelivr und unpkg. Die ausgewählten Bibliotheksdateien werden abgerufen und an der entsprechenden Position innerhalb des ASP.NET Core-Projekts platziert.

Voraussetzungen

Installation

Mit dem folgenden Befehl wird LibMan installiert:

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

Hinweis

Standardmäßig stellt die Architektur der zu installierenden .NET-Binärdateien die derzeit ausgeführte Betriebssystemarchitektur dar. Informationen zum Angeben einer anderen Betriebssystemarchitektur finden Sie unter dotnet tool install, --arch option. Weitere Informationen finden Sie unter dem GitHub-Issue dotnet/docs #29262.

Ein globales .NET Core-Tool wird über das NuGet-Paket Microsoft.Web.LibraryManager.Cli installiert.

Verbrauch

libman

Anzeigen der installierten LibMan-Version:

libman --version

Anzeigen der verfügbaren CLI-Befehle:

libman --help

Mit dem obigen Befehl wird eine ähnliche Ausgabe wie die folgende angezeigt:

 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.

In den folgenden Abschnitten werden die verfügbaren CLI-Befehle erläutert.

Initialisieren von LibMan im Projekt

Durch den Befehl libman init wird die Datei libman.json erstellt, sofern sie noch nicht existiert. Die erstellte Datei enthält den StandardiInhalt für Elementvorlagen.

Übersicht

libman init [-d|--default-destination] [-p|--default-provider] [--verbosity]
libman init [-h|--help]

Optionen

Für den Befehl libman init sind die folgenden Optionen verfügbar:

  • -d|--default-destination <PATH>

    Mit dieser Option wird ein Pfad relativ zum aktuellen Ordner festgelegt. Bibliotheksdateien werden an diesem Ort installiert, wenn für eine Bibliothek die Eigenschaft destination in libman.json nicht definiert ist. Der Wert für <PATH> wird in die Eigenschaft defaultDestination in libman.json geschrieben.

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

    Mit dieser Option wird der Anbieter festgelegt, der verwendet werden soll, wenn für eine Bibliothek kein Anbieter definiert wurde. Der Wert für <PROVIDER> wird in die Eigenschaft defaultProvider in libman.json geschrieben. Ersetzen Sie <PROVIDER> durch einen der folgenden Werte:

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

    Zeigt Hilfeinformationen an

  • --verbosity <LEVEL>

    Legt den Ausführlichkeitsgrad der Ausgabe fest. Ersetzen Sie <LEVEL> durch einen der folgenden Werte:

    • quiet
    • normal
    • detailed

Beispiele

Gehen Sie wie folgt vor, um die Datei libman.json in einem ASP.NET Core-Projekt zu erstellen:

  • Navigieren Sie zum Projektstamm.

  • Führen Sie den folgenden Befehl aus:

    libman init
    
  • Geben Sie den Namen des Standardanbieters ein, oder drücken Sie die EINGABETASTE (Enter), um CDNJS als Standardanbieter zu verwenden. Gültige Werte sind:

    • cdnjs
    • filesystem
    • jsdelivr
    • unpkg

    Befehl „libman init“: Standardanbieter

Die Datei libman.json mit dem folgenden Inhalt wird dem Projektstamm hinzugefügt:

{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": []
}

Bibliotheksdateien hinzufügen

Mit dem Befehl libman install werden Bibliotheksdateien in das Projekt heruntergeladen und dort installiert. Die Datei libman.json wird hinzugefügt, sofern sie noch nicht existiert. Die Datei libman.json wird so geändert, dass dort Konfigurationsdetails für die Bibliotheksdateien gespeichert werden.

Übersicht

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

Argumente

LIBRARY

Hierbei handelt es sich um den Namen der zu installierenden Bibliothek. Dieser Name kann eine Notation der Versionsnummer (z. B. @1.2.0) enthalten.

Optionen

Für den Befehl libman install sind die folgenden Optionen verfügbar:

  • -d|--destination <PATH>

    Mit dieser Option wird der Installationsort für die Bibliothek festgelegt. Wenn kein Ort angegeben wird, wird der Standardspeicherort verwendet. Wenn in libman.json kein Wert für die Eigenschaft defaultDestination festgelegt ist, ist diese Option erforderlich.

    Hinweis: Es gibt Einschränkungen für den Zielpfad. Wenn die Paketquelle beispielsweise eine vollständige Projektstruktur und nicht nur den Verteilungsordner aufweist, können Sie das Verschieben eines Ordners nicht angeben. Weitere Informationen finden Sie unter Problem 407 und Problem 702.

  • --files <FILE>

    Geben Sie den Namen der zu installierenden Datei aus der Bibliothek an. Wenn kein Dateiname angegeben wird, werden alle Dateien aus der Bibliothek installiert. Geben Sie die Option --files für jede der zu installierenden Dateien separat an. Relative Pfade werden ebenfalls unterstützt. Beispiel: --files dist/browser/signalr.js.

  • -p|--provider <PROVIDER>

    Mit dieser Option wird der Name des für den Erwerb der Bibliothek zu verwendenden Anbieters angegeben. Ersetzen Sie <PROVIDER> durch einen der folgenden Werte:

    • cdnjs
    • filesystem
    • jsdelivr
    • unpkg

    Wenn kein Wert festgelegt wird, wird der Wert der Eigenschaft defaultProvider in libman.json verwendet. Wenn in libman.json kein Wert für die Eigenschaft defaultProvider festgelegt ist, ist diese Option erforderlich.

  • -h|--help

    Zeigt Hilfeinformationen an

  • --verbosity <LEVEL>

    Legt den Ausführlichkeitsgrad der Ausgabe fest. Ersetzen Sie <LEVEL> durch einen der folgenden Werte:

    • quiet
    • normal
    • detailed

Beispiele

Betrachten Sie die folgende libman.json -Datei:

{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": []
}

Installieren der Datei jquery.min.js der Version 3.2.1 von jQuery im Ordner wwwroot/scripts/jquery mit dem CDNJS-Anbieter:

libman install jquery@3.2.1 --provider cdnjs --destination wwwroot/scripts/jquery --files jquery.min.js

Die endgültige libman.json-Datei sieht etwa wie folgt aus:

{
  "version": "1.0",
  "defaultProvider": "cdnjs",
  "libraries": [
    {
      "library": "jquery@3.2.1",
      "destination": "wwwroot/scripts/jquery",
      "files": [
        "jquery.min.js"
      ]
    }
  ]
}

Installieren der Dateien calendar.js und calendar.css aus C:\temp\contosoCalendar\ mit dem Dateisystemanbieter:

libman install C:\temp\contosoCalendar\ --provider filesystem --files calendar.js --files calendar.css

Es gibt zwei mögliche Gründe für die folgende Meldung:

  • Die libman.json-Datei enthält keine defaultDestination-Eigenschaft.
  • Die Option -d|--destination ist im Befehl libman install nicht enthalten.

Befehl „libman install“: Ziel

Wenn das Standardziel bestätigt wurde, ähnelt die Datei libman.json dem folgenden Beispiel:

{
  "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"
      ]
    }
  ]
}

Wiederherstellen von Bibliotheksdateien

Mit dem Befehl libman restore werden die in libman.json definierten Bibliotheksdateien installiert. Es gelten die folgenden Regeln:

  • Wenn im Projektstamm keine Datei namens libman.json existiert, wird ein Fehler zurückgegeben.
  • Wenn in einer Bibliothek ein Anbieter festgelegt ist, wird die Eigenschaft defaultProvider in libman.json ignoriert.
  • Wenn in einer Bibliothek ein Ziel festgelegt ist, wird die Eigenschaft defaultDestination in libman.json ignoriert.

Übersicht

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

Optionen

Für den Befehl libman restore sind die folgenden Optionen verfügbar:

  • -h|--help

    Zeigt Hilfeinformationen an

  • --verbosity <LEVEL>

    Legt den Ausführlichkeitsgrad der Ausgabe fest. Ersetzen Sie <LEVEL> durch einen der folgenden Werte:

    • quiet
    • normal
    • detailed

Beispiele

Wiederherstellen der in libman.json definierten Bibliotheksdateien:

libman restore

Löschen von Bibliotheksdateien

Mit dem Befehl libman clean werden zuvor mit LibMan wiederhergestellte Bibliotheksdateien gelöscht. Ordner, die nach diesem Vorgang leer sind, werden gelöscht. Die Konfigurationen für die Bibliotheksdateien in der Eigenschaft libraries in libman.json werden nicht entfernt.

Übersicht

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

Optionen

Für den Befehl libman clean sind die folgenden Optionen verfügbar:

  • -h|--help

    Zeigt Hilfeinformationen an

  • --verbosity <LEVEL>

    Legt den Ausführlichkeitsgrad der Ausgabe fest. Ersetzen Sie <LEVEL> durch einen der folgenden Werte:

    • quiet
    • normal
    • detailed

Beispiele

Löschen von über LibMan installierten Bibliotheksdateien:

libman clean

Deinstallieren von Bibliotheksdateien

Mit dem Befehl libman uninstall:

  • werden alle der angegebenen Bibliothek zugeordneten Dateien am in libman.json angegebenen Ziel gelöscht.
  • wird die zugehörige Bibliothekskonfiguration in libman.json entfernt.

Ein Fehler tritt auf, wenn:

  • im Projektstamm keine Datei namens libman.json existiert.
  • die angegebene Bibliothek nicht existiert.

Wenn mehr als eine Bibliothek mit demselben Namen installiert ist, werden Sie dazu aufgefordert, eine auszuwählen.

Übersicht

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

Argumente

LIBRARY

Hierbei handelt es sich um den Namen der zu deinstallierenden Bibliothek. Dieser Name kann eine Notation der Versionsnummer (z. B. @1.2.0) enthalten.

Optionen

Für den Befehl libman uninstall sind die folgenden Optionen verfügbar:

  • -h|--help

    Zeigt Hilfeinformationen an

  • --verbosity <LEVEL>

    Legt den Ausführlichkeitsgrad der Ausgabe fest. Ersetzen Sie <LEVEL> durch einen der folgenden Werte:

    • quiet
    • normal
    • detailed

Beispiele

Betrachten Sie die folgende libman.json -Datei:

{
  "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/"
    }
  ]
}
  • jQuery kann mit einem der folgenden Befehle deinstalliert werden:

    libman uninstall jquery
    
    libman uninstall jquery@3.3.1
    
  • Deinstallieren der über den Anbieter filesystem installierten Lodash-Dateien:

    libman uninstall C:\temp\lodash\
    

Aktualisieren der Bibliotheksversion

Mit dem Befehl libman update wird eine über LibMan installierte Bibliothek auf die angegebene Version aktualisiert.

Ein Fehler tritt auf, wenn:

  • im Projektstamm keine Datei namens libman.json existiert.
  • die angegebene Bibliothek nicht existiert.

Wenn mehr als eine Bibliothek mit demselben Namen installiert ist, werden Sie dazu aufgefordert, eine auszuwählen.

Übersicht

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

Argumente

LIBRARY

Hierbei handelt es sich um den Namen der zu aktualisierenden Bibliothek.

Optionen

Für den Befehl libman update sind die folgenden Optionen verfügbar:

  • -pre

    Abrufen der aktuellen Vorabversion der Bibliothek

  • --to <VERSION>

    Abrufen einer bestimmten Version der Bibliothek

  • -h|--help

    Zeigt Hilfeinformationen an

  • --verbosity <LEVEL>

    Legt den Ausführlichkeitsgrad der Ausgabe fest. Ersetzen Sie <LEVEL> durch einen der folgenden Werte:

    • quiet
    • normal
    • detailed

Beispiele

  • Aktualisieren von jQuery auf die aktuelle Version:

    libman update jquery
    
  • Aktualisieren von jQuery auf Version 3.3.1:

    libman update jquery --to 3.3.1
    
  • Aktualisieren von jQuery auf die aktuelle Vorabversion:

    libman update jquery -pre
    

Bibliothekscache verwalten

Mit dem Befehl libman cache wird der LibMan-Bibliothekscache verwaltet. Der Anbieter filesystem verwendet den Bibliothekscache nicht.

Übersicht

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

Argumente

PROVIDER

Dieses Argument wird nur mit dem Befehl clean verwendet. Damit wird der zu bereinigende Anbietercache angegeben. Gültige Werte sind:

  • cdnjs
  • filesystem
  • jsdelivr
  • unpkg

Optionen

Für den Befehl libman cache sind die folgenden Optionen verfügbar:

  • --files

    Auflisten der zwischengespeicherten Dateien

  • --libraries

    Auflisten der zwischengespeicherten Bibliotheken

  • -h|--help

    Zeigt Hilfeinformationen an

  • --verbosity <LEVEL>

    Legt den Ausführlichkeitsgrad der Ausgabe fest. Ersetzen Sie <LEVEL> durch einen der folgenden Werte:

    • quiet
    • normal
    • detailed

Beispiele

  • Verwenden Sie einen der folgenden Befehle, um die Namen der zwischengespeicherten Bibliotheken nach Anbietern sortiert anzuzeigen:

    libman cache list
    
    libman cache list --libraries
    

    Dadurch werden Informationen angezeigt, die mit denen der folgenden Ausgabe vergleichbar sind:

    Cache contents:
    ---------------
    unpkg:
        knockout
        react
        vue
    cdnjs:
        font-awesome
        jquery
        knockout
        lodash.js
        react
    
  • Anzeigen der Namen der zwischengespeicherten Bibliotheksdateien nach Anbietern sortiert:

    libman cache list --files
    

    Dadurch werden Informationen angezeigt, die mit denen der folgenden Ausgabe vergleichbar sind:

    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
    

    Beachten Sie, dass bei der obigen Ausgabe die Versionen 3.2.1 und 3.3.1 von jQuery unter dem Anbieter CDNJS zwischengespeichert sind.

  • Leeren des Bibliothekscaches für den Anbieter CDNJS:

    libman cache clean cdnjs
    

    Wenn der Cache für den Anbieter CDNJS geleert wurde, wird nach dem Ausführen des Befehls libman cache list Folgendes angezeigt:

    Cache contents:
    ---------------
    unpkg:
        knockout
        react
        vue
    cdnjs:
        (empty)
    
  • Leeren des Caches für alle unterstützten Anbieter:

    libman cache clean
    

    Wenn alle Anbietercaches geleert wurden, wird nach dem Ausführen des Befehls libman cache list Folgendes angezeigt:

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

Zusätzliche Ressourcen