Dela via


Använda LibMan CLI med ASP.NET Core

Library Manager (LibMan) är ett enkelt biblioteksförvärvsverktyg på klientsidan. LibMan laddar ned populära bibliotek och ramverk från filsystemet eller från ett innehållsleveransnätverk (CDN). CDN:er som stöds är CDNJS, jsDelivroch unpkg. De valda biblioteksfilerna hämtas och placeras på lämplig plats i ASP.NET Core-projektet.

Förutsättningar

Installation

Följande kommando installerar LibMan:

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

Anmärkning

Som standard representerar arkitekturen för de .NET-binärfiler som ska installeras den operativsystemarkitektur som körs. Information om hur du anger en annan OPERATIVSYSTEM-arkitektur finns i dotnet tool install, --arch option. Mer information finns i GitHub issue dotnet/AspNetCore.Docs #29262.

Ett globalt .NET Core-verktyg installeras från NuGet-paketet Microsoft.Web.LibraryManager.Cli .

Användning

libman

Så här visar du den installerade LibMan-versionen:

libman --version

Så här visar du de tillgängliga CLI-kommandona:

libman --help

Föregående kommando visar utdata som liknar följande:

 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.

I följande avsnitt beskrivs tillgängliga CLI-kommandon.

Initiera LibMan i projektet

Kommandot libman init skapar en libman.json fil om den inte finns. Filen skapas med standardinnehållet för objektmallen.

Sammanfattning

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

Alternativ

Följande alternativ är tillgängliga för libman init kommandot:

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

    En sökväg i förhållande till den aktuella mappen. Biblioteksfiler installeras på den här platsen om ingen destination egenskap har definierats för ett bibliotek i libman.json. Värdet <PATH> skrivs till egenskapen defaultDestination av libman.json.

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

    Providern som ska användas om ingen provider har definierats för ett visst bibliotek. Värdet <PROVIDER> skrivs till egenskapen defaultProvider av libman.json. Ersätt <PROVIDER> med något av följande värden:

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

    Visa hjälpinformation.

  • --verbosity <LEVEL>

    Ange utförligheten för resultatet. Ersätt <LEVEL> med något av följande värden:

    • quiet
    • normal
    • detailed

Exempel

Så här skapar du en libman.json fil i ett ASP.NET Core-projekt:

  • Gå till projektroten.

  • Kör följande kommando:

    libman init
    
  • Ange namnet på standardprovidern eller tryck på Enter för att använda cdnJS-standardprovidern. Giltiga värden är:

    • cdnjs
    • filesystem
    • jsdelivr
    • unpkg

    libman init-kommando – standardprovider

En libman.json fil läggs till i projektroten med följande innehåll:

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

Lägga till biblioteksfiler

Kommandot libman install laddar ned och installerar biblioteksfiler i projektet. En libman.json fil läggs till om den inte finns. Filen libman.json ändras för att lagra konfigurationsinformation för biblioteksfilerna.

Sammanfattning

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

Argumentpunkter

LIBRARY

Namnet på biblioteket som ska installeras. Det här namnet kan innehålla versionsnummerkommentering (till exempel @1.2.0).

Alternativ

Följande alternativ är tillgängliga för libman install kommandot:

  • -d|--destination <PATH>

    Platsen där biblioteket ska installeras. Om den inte anges används standardplatsen. Om ingen defaultDestination egenskap anges i libman.jsonkrävs det här alternativet.

    Observera: Det finns begränsningar för destinationsvägen. När paketkällan till exempel har en fullständig projektstruktur och inte bara distributionsmappen kan du inte ange att flytta en mapp. Mer information finns i Problem #407 och Ärende #702

  • --files <FILE>

    Ange namnet på filen som ska installeras från biblioteket. Om det inte anges installeras alla filer från biblioteket. Ange ett --files alternativ per fil som ska installeras. Relativa sökvägar stöds också. Till exempel: --files dist/browser/signalr.js.

  • -p|--provider <PROVIDER>

    Namnet på providern som ska användas för biblioteksförvärvet. Ersätt <PROVIDER> med något av följande värden:

    • cdnjs
    • filesystem
    • jsdelivr
    • unpkg

    Om egenskapen defaultProvider inte anges, används den i libman.json. Om ingen defaultProvider egenskap anges i libman.jsonkrävs det här alternativet.

  • -h|--help

    Visa hjälpinformation.

  • --verbosity <LEVEL>

    Ange utförligheten för resultatet. Ersätt <LEVEL> med något av följande värden:

    • quiet
    • normal
    • detailed

Exempel

Överväg följande libman.json fil:

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

Så här installerar du filen jQuery version 3.2.1 jquery.min.js i mappen wwwroot/scripts/jquery med hjälp av CDNJS-providern:

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

Filen libman.json liknar följande:

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

Så här installerar du calendar.js och calendar.css-filerna från C:\temp\contosoCalendar\ med hjälp av filsystemleverantören:

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

Följande uppmaning visas av två skäl:

  • Filen libman.json innehåller defaultDestination ingen egenskap.
  • Kommandot libman install innehåller inte alternativet -d|--destination .

libman install command – destinationsplats

När du har accepterat standarddestinationen libman.json liknar filen följande:

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

Återställa biblioteksfiler

Kommandot libman restore installerar biblioteksfiler som definierats i libman.json. Följande regler gäller:

  • Om det inte finns någon libman.json fil i projektroten returneras ett fel.
  • Om ett bibliotek anger en provider ignoreras egenskapen defaultProvider i libman.json .
  • Om ett bibliotek anger ett mål ignoreras egenskapen defaultDestination i libman.json .

Sammanfattning

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

Alternativ

Följande alternativ är tillgängliga för libman restore kommandot:

  • -h|--help

    Visa hjälpinformation.

  • --verbosity <LEVEL>

    Ange utförligheten för resultatet. Ersätt <LEVEL> med något av följande värden:

    • quiet
    • normal
    • detailed

Exempel

Så här återställer du biblioteksfilerna som definierats i libman.json:

libman restore

Ta bort biblioteksfiler

Kommandot libman clean tar bort biblioteksfiler som tidigare återställts via LibMan. Mappar som blir tomma efter att den här åtgärden har tagits bort. Biblioteksfilernas associerade konfigurationer i egenskapen libraries av libman.json tas inte bort.

Sammanfattning

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

Alternativ

Följande alternativ är tillgängliga för libman clean kommandot:

  • -h|--help

    Visa hjälpinformation.

  • --verbosity <LEVEL>

    Ange utförligheten för resultatet. Ersätt <LEVEL> med något av följande värden:

    • quiet
    • normal
    • detailed

Exempel

Så här tar du bort biblioteksfiler som installerats via LibMan:

libman clean

Avinstallera biblioteksfiler

Kommandot libman uninstall:

  • Tar bort alla filer som är associerade med det angivna biblioteket från målet i libman.json.
  • Tar bort den associerade bibliotekskonfigurationen från libman.json.

Ett fel inträffar när:

  • Det finns ingen libman.json fil i projektroten.
  • Det angivna biblioteket finns inte.

Om fler än ett bibliotek med samma namn har installerats uppmanas du att välja ett.

Sammanfattning

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

Argumentpunkter

LIBRARY

Namnet på biblioteket som ska avinstalleras. Det här namnet kan innehålla versionsnummerkommentering (till exempel @1.2.0).

Alternativ

Följande alternativ är tillgängliga för libman uninstall kommandot:

  • -h|--help

    Visa hjälpinformation.

  • --verbosity <LEVEL>

    Ange utförligheten för resultatet. Ersätt <LEVEL> med något av följande värden:

    • quiet
    • normal
    • detailed

Exempel

Överväg följande libman.json fil:

{
  "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 du vill avinstallera jQuery lyckas något av följande kommandon:

    libman uninstall jquery
    
    libman uninstall jquery@3.3.1
    
  • Så här avinstallerar du Lodash-filerna som installerats via providern filesystem :

    libman uninstall C:\temp\lodash\
    

Uppdatera biblioteksversion

Kommandot libman update uppdaterar ett bibliotek som installerats via LibMan till den angivna versionen.

Ett fel inträffar när:

  • Det finns ingen libman.json fil i projektroten.
  • Det angivna biblioteket finns inte.

Om fler än ett bibliotek med samma namn har installerats uppmanas du att välja ett.

Sammanfattning

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

Argumentpunkter

LIBRARY

Namnet på biblioteket som ska uppdateras.

Alternativ

Följande alternativ är tillgängliga för libman update kommandot:

  • -pre

    Hämta den senaste förhandsversionen av biblioteket.

  • --to <VERSION>

    Hämta en specifik version av biblioteket.

  • -h|--help

    Visa hjälpinformation.

  • --verbosity <LEVEL>

    Ange utförligheten för resultatet. Ersätt <LEVEL> med något av följande värden:

    • quiet
    • normal
    • detailed

Exempel

  • Så här uppdaterar du jQuery till den senaste versionen:

    libman update jquery
    
  • Så här uppdaterar du jQuery till version 3.3.1:

    libman update jquery --to 3.3.1
    
  • Så här uppdaterar du jQuery till den senaste förhandsversionen:

    libman update jquery -pre
    

Hantera cache för biblioteket

Kommandot libman cache hanterar LibMan-bibliotekscacheminnet. Providern filesystem använder inte bibliotekscacheminnet.

Sammanfattning

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

Argumentpunkter

PROVIDER

Används endast med clean kommandot . Anger providercachen som ska rensas. Giltiga värden är:

  • cdnjs
  • filesystem
  • jsdelivr
  • unpkg

Alternativ

Följande alternativ är tillgängliga för libman cache kommandot:

  • --files

    Lista namnen på filer som cachelagras.

  • --libraries

    Lista namnen på bibliotek som cachelagras.

  • -h|--help

    Visa hjälpinformation.

  • --verbosity <LEVEL>

    Ange utförligheten för resultatet. Ersätt <LEVEL> med något av följande värden:

    • quiet
    • normal
    • detailed

Exempel

  • Om du vill visa namnen på cachelagrade bibliotek per provider använder du något av följande kommandon:

    libman cache list
    
    libman cache list --libraries
    

    Utdata som liknar följande visas:

    Cache contents:
    ---------------
    unpkg:
        knockout
        react
        vue
    cdnjs:
        font-awesome
        jquery
        knockout
        lodash.js
        react
    
  • Så här visar du namnen på cachelagrade biblioteksfiler per leverantör:

    libman cache list --files
    

    Utdata som liknar följande visas:

    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
    

    Observera att föregående utdata visar att jQuery-versionerna 3.2.1 och 3.3.1 cachelagras under CDNJS-providern.

  • Så här tömmer du bibliotekscacheminnet för CDNJS-providern:

    libman cache clean cdnjs
    

    När du har tömt CDNJS-providercachen libman cache list visar kommandot följande:

    Cache contents:
    ---------------
    unpkg:
        knockout
        react
        vue
    cdnjs:
        (empty)
    
  • Så här tömmer du cachen för alla leverantörer som stöds:

    libman cache clean
    

    När du har tömt alla cacheminnen för leverantörer visar libman cache list-kommandot följande:

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

Ytterligare resurser