Delen via


De LibMan CLI gebruiken met ASP.NET Core

Library Manager (LibMan) is een lichtgewicht hulpprogramma voor het verkrijgen van bibliotheken aan de clientzijde. LibMan downloadt populaire bibliotheken en frameworks uit het bestandssysteem of vanuit een CDN-(Content Delivery Network). De ondersteunde CDN's omvatten CDNJS-, jsDelivren unpkg-. De geselecteerde bibliotheekbestanden worden opgehaald en op de juiste locatie in het ASP.NET Core-project geplaatst.

Prerequisites

Installation

Met de volgende opdracht wordt LibMan geïnstalleerd:

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

Note

De architectuur van de binaire .NET-bestanden die moeten worden geïnstalleerd, vertegenwoordigt standaard de huidige besturingssysteemarchitectuur. Als u een andere besturingssysteemarchitectuur wilt opgeven, raadpleegt u de optie dotnet tool install, --arch. Zie GitHub issue dotnet/AspNetCore.Docs #29262 voor meer informatie.

Er wordt een .NET Global Tool geïnstalleerd vanuit het Microsoft.Web.LibraryManager.Cli NuGet-pakket.

Usage

libman

De geïnstalleerde LibMan-versie weergeven:

libman --version

De beschikbare CLI-opdrachten weergeven:

libman --help

Met de voorgaande opdracht wordt uitvoer weergegeven die vergelijkbaar is met de volgende:

 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 de volgende secties worden de beschikbare CLI-opdrachten beschreven.

LibMan initialiseren in het project

Met de libman init opdracht maakt u een libman.json bestand als deze niet bestaat. Het bestand is gemaakt met de inhoud van het standaardsjabloon voor items.

Synopsis

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

Options

De volgende opties zijn beschikbaar voor de libman init opdracht:

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

    Een pad ten opzichte van de huidige map. Bibliotheekbestanden worden op deze locatie geïnstalleerd als er geen destination eigenschap is gedefinieerd voor een bibliotheek in libman.json. De <PATH> waarde wordt geschreven naar de defaultDestination eigenschap van libman.json.

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

    De provider die moet worden gebruikt als er geen provider is gedefinieerd voor een bepaalde bibliotheek. De <PROVIDER> waarde wordt geschreven naar de defaultProvider eigenschap van libman.json. Vervang door <PROVIDER> een van de volgende waarden:

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

    Help-informatie weergeven.

  • --verbosity <LEVEL>

    Stel de gedetailleerdheid van de uitvoer in. Vervang door <LEVEL> een van de volgende waarden:

    • quiet
    • normal
    • detailed

Examples

Een bestand maken libman.json in een ASP.NET Core-project:

  • Navigeer naar de hoofdmap van het project.

  • Voer de volgende opdracht uit:

    libman init
    
  • Typ de naam van de standaardprovider of druk op Enter de standaard-CDNJS-provider te gebruiken. Geldige waarden zijn:

    • cdnjs
    • filesystem
    • jsdelivr
    • unpkg

    libman init-opdracht - standaardprovider

Er wordt een libman.json bestand toegevoegd aan de hoofdmap van het project met de volgende inhoud:

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

Bibliotheekbestanden toevoegen

Met de libman install opdracht worden bibliotheekbestanden gedownload en geïnstalleerd in het project. Er wordt een libman.json bestand toegevoegd als er geen bestand bestaat. Het libman.json bestand wordt gewijzigd om configuratiegegevens voor de bibliotheekbestanden op te slaan.

Synopsis

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

Arguments

LIBRARY

De naam van de bibliotheek die moet worden geïnstalleerd. Deze naam kan de notatie van het versienummer bevatten (bijvoorbeeld @1.2.0).

Options

De volgende opties zijn beschikbaar voor de libman install opdracht:

  • -d|--destination <PATH>

    De locatie voor het installeren van de bibliotheek. Als dit niet is opgegeven, wordt de standaardlocatie gebruikt. Als er geen defaultDestination eigenschap is opgegeven in libman.json, is deze optie vereist.

    Notitie: Er gelden beperkingen voor het doelpad. Als de pakketbron bijvoorbeeld een volledige projectstructuur heeft en niet alleen de distributiemap, kunt u het verplaatsen van een map niet opgeven. Zie Probleem 407 en Probleem 702 voor meer informatie

  • --files <FILE>

    Geef de naam op van het bestand dat u wilt installeren vanuit de bibliotheek. Als dit niet is opgegeven, worden alle bestanden uit de bibliotheek geïnstalleerd. Geef één --files optie op per bestand dat moet worden geïnstalleerd. Relatieve paden worden ook ondersteund. Voorbeeld: --files dist/browser/signalr.js.

  • -p|--provider <PROVIDER>

    De naam van de provider die moet worden gebruikt voor de verwerving van de bibliotheek. Vervang door <PROVIDER> een van de volgende waarden:

    • cdnjs
    • filesystem
    • jsdelivr
    • unpkg

    Als deze niet is opgegeven, wordt de defaultProvider eigenschap in libman.json gebruikt. Als er geen defaultProvider eigenschap is opgegeven in libman.json, is deze optie vereist.

  • -h|--help

    Help-informatie weergeven.

  • --verbosity <LEVEL>

    Stel de gedetailleerdheid van de uitvoer in. Vervang door <LEVEL> een van de volgende waarden:

    • quiet
    • normal
    • detailed

Examples

Houd rekening met het volgende libman.json bestand:

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

Als u het bestand jQuery versie 3.2.1 jquery.min.js wilt installeren in de map wwwroot/scripts/jquery met behulp van de CDNJS-provider:

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

Het libman.json bestand ziet er ongeveer als volgt uit:

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

Om de calendar.js en calendar.css bestanden vanuit C:\temp\contosoCalendar\ te installeren met behulp van de bestandssysteemprovider:

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

De volgende prompt wordt om twee redenen weergegeven:

  • Het libman.json bestand bevat geen defaultDestination eigenschap.
  • De libman install opdracht bevat de -d|--destination optie niet.

libman installatiecommando - bestemming

Nadat de standaardbestemming is geaccepteerd, ziet het libman.json bestand er ongeveer als volgt uit:

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

Bibliotheekbestanden herstellen

Met de libman restore opdracht worden bibliotheekbestanden geïnstalleerd die zijn gedefinieerd in libman.json. De volgende regels zijn van toepassing:

  • Als er geen libman.json bestand in de hoofdmap van het project bestaat, wordt er een fout geretourneerd.
  • Als een bibliotheek een provider opgeeft, wordt de defaultProvider eigenschap in libman.json genegeerd.
  • Als een bibliotheek een bestemming opgeeft, wordt de defaultDestination eigenschap in libman.json genegeerd.

Synopsis

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

Options

De volgende opties zijn beschikbaar voor de libman restore opdracht:

  • -h|--help

    Help-informatie weergeven.

  • --verbosity <LEVEL>

    Stel de gedetailleerdheid van de uitvoer in. Vervang door <LEVEL> een van de volgende waarden:

    • quiet
    • normal
    • detailed

Examples

De bibliotheekbestanden herstellen die zijn gedefinieerd in libman.json:

libman restore

Bibliotheekbestanden verwijderen

Met de libman clean opdracht worden bibliotheekbestanden verwijderd die eerder zijn hersteld via LibMan. Mappen die na deze bewerking leeg worden, worden verwijderd. De bijbehorende configuraties van de bibliotheekbestanden in de libraries eigenschap van libman.json worden niet verwijderd.

Synopsis

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

Options

De volgende opties zijn beschikbaar voor de libman clean opdracht:

  • -h|--help

    Help-informatie weergeven.

  • --verbosity <LEVEL>

    Stel de gedetailleerdheid van de uitvoer in. Vervang door <LEVEL> een van de volgende waarden:

    • quiet
    • normal
    • detailed

Examples

Bibliotheekbestanden verwijderen die zijn geïnstalleerd via LibMan:

libman clean

Bibliotheekbestanden verwijderen

De opdracht libman uninstall doet het volgende:

  • Hiermee verwijdert u alle bestanden die zijn gekoppeld aan de opgegeven bibliotheek van de bestemming in libman.json.
  • Hiermee verwijdert u de bijbehorende bibliotheekconfiguratie van libman.json.

Er treedt een fout op wanneer:

  • Er bestaat geen libman.json bestand in de hoofdmap van het project.
  • De opgegeven bibliotheek bestaat niet.

Als meer dan één bibliotheek met dezelfde naam is geïnstalleerd, wordt u gevraagd er een te kiezen.

Synopsis

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

Arguments

LIBRARY

De naam van de bibliotheek die u wilt verwijderen. Deze naam kan de notatie van het versienummer bevatten (bijvoorbeeld @1.2.0).

Options

De volgende opties zijn beschikbaar voor de libman uninstall opdracht:

  • -h|--help

    Help-informatie weergeven.

  • --verbosity <LEVEL>

    Stel de gedetailleerdheid van de uitvoer in. Vervang door <LEVEL> een van de volgende waarden:

    • quiet
    • normal
    • detailed

Examples

Houd rekening met het volgende libman.json bestand:

{
  "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/"
    }
  ]
}
  • Om jQuery te verwijderen, kunnen de volgende opdrachten worden uitgevoerd:

    libman uninstall jquery
    
    libman uninstall jquery@3.3.1
    
  • De Lodash-bestanden verwijderen die zijn geïnstalleerd via de filesystem provider:

    libman uninstall C:\temp\lodash\
    

Bibliotheekversie bijwerken

Met libman update de opdracht wordt een bibliotheek bijgewerkt die via LibMan is geïnstalleerd naar de opgegeven versie.

Er treedt een fout op wanneer:

  • Er bestaat geen libman.json bestand in de hoofdmap van het project.
  • De opgegeven bibliotheek bestaat niet.

Als meer dan één bibliotheek met dezelfde naam is geïnstalleerd, wordt u gevraagd er een te kiezen.

Synopsis

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

Arguments

LIBRARY

De naam van de bibliotheek die moet worden bijgewerkt.

Options

De volgende opties zijn beschikbaar voor de libman update opdracht:

  • -pre

    Haal de nieuwste voorlopige versie van de bibliotheek op.

  • --to <VERSION>

    Een specifieke versie van de bibliotheek verkrijgen.

  • -h|--help

    Help-informatie weergeven.

  • --verbosity <LEVEL>

    Stel de gedetailleerdheid van de uitvoer in. Vervang door <LEVEL> een van de volgende waarden:

    • quiet
    • normal
    • detailed

Examples

  • JQuery bijwerken naar de nieuwste versie:

    libman update jquery
    
  • JQuery bijwerken naar versie 3.3.1:

    libman update jquery --to 3.3.1
    
  • JQuery bijwerken naar de nieuwste voorlopige versie:

    libman update jquery -pre
    

Bibliotheekcache beheren

Met libman cache de opdracht wordt de bibliotheekcache van LibMan beheerd. De filesystem provider gebruikt de bibliotheekcache niet.

Synopsis

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

Arguments

PROVIDER

Alleen gebruikt met de clean opdracht. Hiermee geeft u de providercache op die moet worden opgeschoond. Geldige waarden zijn:

  • cdnjs
  • filesystem
  • jsdelivr
  • unpkg

Options

De volgende opties zijn beschikbaar voor de libman cache opdracht:

  • --files

    Geef de namen weer van bestanden die in de cache zijn opgeslagen.

  • --libraries

    Geef de namen weer van bibliotheken die in de cache zijn opgeslagen.

  • -h|--help

    Help-informatie weergeven.

  • --verbosity <LEVEL>

    Stel de gedetailleerdheid van de uitvoer in. Vervang door <LEVEL> een van de volgende waarden:

    • quiet
    • normal
    • detailed

Examples

  • Als u de namen van bibliotheken in de cache per provider wilt weergeven, gebruikt u een van de volgende opdrachten:

    libman cache list
    
    libman cache list --libraries
    

    Uitvoer die lijkt op het volgende wordt weergegeven:

    Cache contents:
    ---------------
    unpkg:
        knockout
        react
        vue
    cdnjs:
        font-awesome
        jquery
        knockout
        lodash.js
        react
    
  • De namen van bibliotheekbestanden in de cache per provider weergeven:

    libman cache list --files
    

    Uitvoer die lijkt op het volgende wordt weergegeven:

    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
    

    In de voorgaande uitvoer ziet u dat jQuery-versies 3.2.1 en 3.3.1 in de cache zijn opgeslagen onder de CDNJS-provider.

  • De bibliotheekcache voor de CDNJS-provider leegmaken:

    libman cache clean cdnjs
    

    Nadat de cache van de CDNJS-provider is leeggemaakt, wordt de volgende opdracht door de libman cache list weergegeven.

    Cache contents:
    ---------------
    unpkg:
        knockout
        react
        vue
    cdnjs:
        (empty)
    
  • De cache leegmaken voor alle ondersteunde providers:

    libman cache clean
    

    Nadat alle providercaches zijn leeggemaakt, wordt de volgende opdracht door de libman cache list weergegeven:

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

Aanvullende bronnen