Condividi tramite


Usare l'interfaccia della riga di comando LibMan con ASP.NET Core

Gestione librerie (LibMan) è uno strumento per l'acquisizione di librerie lato client leggere. LibMan scarica librerie e framework popolari dal file system o da una rete per la distribuzione di contenuti (CDN). Le reti CDN supportate includono CDNJS, jsDelivr e unpkg. I file della libreria selezionata vengono recuperati e inseriti nella posizione appropriata all'interno del progetto ASP.NET Core.

Prerequisiti

Installazione

Il comando seguente installa LibMan:

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

Nota

Per impostazione predefinita, l'architettura dei file binari .NET da installare rappresenta l'architettura del sistema operativo attualmente in esecuzione. Per specificare un'architettura del sistema operativo diversa, vedere dotnet tool install, --opzione arch.. Per altre informazioni, vedere Problema di GitHub dotnet/AspNetCore.Docs #29262.

Uno strumento globale .NET Core viene installato dal pacchetto NuGet Microsoft.Web.LibraryManager.Cli .

Utilizzo

libman

Per visualizzare la versione di LibMan installata:

libman --version

Per visualizzare i comandi disponibili dell'interfaccia della riga di comando:

libman --help

Il comando precedente visualizza un output simile al seguente:

 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.

Le sezioni seguenti descrivono i comandi dell'interfaccia della riga di comando disponibili.

Inizializzare LibMan nel progetto

Il libman init comando crea un libman.json file se non esiste. Il file viene creato con il contenuto predefinito del modello di elemento.

Riepilogo

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

Opzioni

Per il comando libman init sono disponibili le opzioni seguenti:

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

    Percorso relativo alla cartella corrente. I file di libreria vengono installati in questo percorso se non destination è definita alcuna proprietà per una libreria in libman.json. Il <PATH> valore viene scritto nella defaultDestination proprietà di libman.json.

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

    Provider da utilizzare se non è definito alcun provider per una determinata libreria. Il <PROVIDER> valore viene scritto nella defaultProvider proprietà di libman.json. Sostituire <PROVIDER> con uno dei valori seguenti:

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

    Mostra informazioni della Guida.

  • --verbosity <LEVEL>

    Impostare il livello di dettaglio dell'output. Sostituire <LEVEL> con uno dei valori seguenti:

    • quiet
    • normal
    • detailed

Esempi

Per creare un libman.json file in un progetto ASP.NET Core:

  • Passare alla radice del progetto.

  • Esegui questo comando:

    libman init
    
  • Digitare il nome del provider predefinito oppure premere Enter per usare il provider CDNJS predefinito. I valori validi includono:

    • cdnjs
    • filesystem
    • jsdelivr
    • unpkg

    Comando libman init - Provider predefinito

Un libman.json file viene aggiunto alla radice del progetto con il contenuto seguente:

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

Aggiungere file di libreria

Il libman install comando scarica e installa i file di libreria nel progetto. Se non esiste, viene aggiunto un libman.json file. Il libman.json file viene modificato per archiviare i dettagli di configurazione per i file di libreria.

Riepilogo

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

Argomenti

LIBRARY

Nome della libreria da installare. Questo nome può includere la notazione del numero di versione , ad esempio @1.2.0.

Opzioni

Per il comando libman install sono disponibili le opzioni seguenti:

  • -d|--destination <PATH>

    Percorso in cui installare la libreria. Se non specificato, viene utilizzata la posizione predefinita. Se non viene specificata alcuna defaultDestination proprietà in libman.json, questa opzione è obbligatoria.

    Nota: esistono limitazioni per il percorso di destinazione. Ad esempio, quando l'origine del pacchetto ha una struttura di progetto completa e non solo la cartella di distribuzione, non è possibile specificare lo spostamento di una cartella. Per altre informazioni, vedere Problema 407 e Problema #702

  • --files <FILE>

    Specificare il nome del file da installare dalla libreria. Se non specificato, vengono installati tutti i file della libreria. Specificare un'opzione --files per ogni file da installare. Anche i percorsi relativi sono supportati. Ad esempio: --files dist/browser/signalr.js.

  • -p|--provider <PROVIDER>

    Nome del provider da utilizzare per l'acquisizione della libreria. Sostituire <PROVIDER> con uno dei valori seguenti:

    • cdnjs
    • filesystem
    • jsdelivr
    • unpkg

    Se non specificato, viene utilizzata la defaultProvider proprietà in libman.json . Se non viene specificata alcuna defaultProvider proprietà in libman.json, questa opzione è obbligatoria.

  • -h|--help

    Mostra informazioni della Guida.

  • --verbosity <LEVEL>

    Impostare il livello di dettaglio dell'output. Sostituire <LEVEL> con uno dei valori seguenti:

    • quiet
    • normal
    • detailed

Esempi

Considerare il file libman.json seguente:

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

Per installare il file jQuery versione 3.2.1 jquery.min.js nella cartella wwwroot/scripts/jquery usando il provider CDNJS:

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

Il libman.json file è simile al seguente:

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

Per installare i calendar.js file e calendar.css da C:\temp\contosoCalendar\ usando il provider del file system:

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

La richiesta seguente viene visualizzata per due motivi:

  • Il libman.json file non contiene una defaultDestination proprietà.
  • Il libman install comando non contiene l'opzione -d|--destination .

Comando libman install - destinazione

Dopo aver accettato la destinazione predefinita, il libman.json file è simile al seguente:

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

Ripristinare i file di libreria

Il libman restore comando installa i file di libreria definiti in libman.json. Si applicano le seguenti regole:

  • Se non esiste alcun libman.json file nella radice del progetto, viene restituito un errore.
  • Se una libreria specifica un provider, la defaultProvider proprietà in libman.json viene ignorata.
  • Se una libreria specifica una destinazione, la defaultDestination proprietà in libman.json viene ignorata.

Riepilogo

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

Opzioni

Per il comando libman restore sono disponibili le opzioni seguenti:

  • -h|--help

    Mostra informazioni della Guida.

  • --verbosity <LEVEL>

    Impostare il livello di dettaglio dell'output. Sostituire <LEVEL> con uno dei valori seguenti:

    • quiet
    • normal
    • detailed

Esempi

Per ripristinare i file di libreria definiti in libman.json:

libman restore

Eliminare i file di libreria

Il libman clean comando elimina i file di libreria ripristinati in precedenza tramite LibMan. Cartelle che diventano vuote dopo l'eliminazione di questa operazione. Le configurazioni associate dei file di libreria nella libraries proprietà di libman.json non vengono rimosse.

Riepilogo

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

Opzioni

Per il comando libman clean sono disponibili le opzioni seguenti:

  • -h|--help

    Mostra informazioni della Guida.

  • --verbosity <LEVEL>

    Impostare il livello di dettaglio dell'output. Sostituire <LEVEL> con uno dei valori seguenti:

    • quiet
    • normal
    • detailed

Esempi

Per eliminare i file di libreria installati tramite LibMan:

libman clean

Disinstallare i file di libreria

Il comando libman uninstall:

  • Elimina tutti i file associati alla libreria specificata dalla destinazione in libman.json.
  • Rimuove la configurazione della libreria associata da libman.json.

Si verifica un errore quando:

  • Nessun libman.json file esiste nella radice del progetto.
  • La libreria specificata non esiste.

Se sono installate più librerie con lo stesso nome, verrà richiesto di sceglierne una.

Riepilogo

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

Argomenti

LIBRARY

Nome della libreria da disinstallare. Questo nome può includere la notazione del numero di versione , ad esempio @1.2.0.

Opzioni

Per il comando libman uninstall sono disponibili le opzioni seguenti:

  • -h|--help

    Mostra informazioni della Guida.

  • --verbosity <LEVEL>

    Impostare il livello di dettaglio dell'output. Sostituire <LEVEL> con uno dei valori seguenti:

    • quiet
    • normal
    • detailed

Esempi

Considerare il file libman.json seguente:

{
  "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/"
    }
  ]
}
  • Per disinstallare jQuery, uno dei comandi seguenti ha esito positivo:

    libman uninstall jquery
    
    libman uninstall jquery@3.3.1
    
  • Per disinstallare i file Lodash installati tramite il filesystem provider:

    libman uninstall C:\temp\lodash\
    

Aggiornare la versione della libreria

Il libman update comando aggiorna una libreria installata tramite LibMan alla versione specificata.

Si verifica un errore quando:

  • Nessun libman.json file esiste nella radice del progetto.
  • La libreria specificata non esiste.

Se sono installate più librerie con lo stesso nome, verrà richiesto di sceglierne una.

Riepilogo

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

Argomenti

LIBRARY

Nome della libreria da aggiornare.

Opzioni

Per il comando libman update sono disponibili le opzioni seguenti:

  • -pre

    Ottenere la versione non definitiva più recente della libreria.

  • --to <VERSION>

    Ottenere una versione specifica della libreria.

  • -h|--help

    Mostra informazioni della Guida.

  • --verbosity <LEVEL>

    Impostare il livello di dettaglio dell'output. Sostituire <LEVEL> con uno dei valori seguenti:

    • quiet
    • normal
    • detailed

Esempi

  • Per aggiornare jQuery alla versione più recente:

    libman update jquery
    
  • Per aggiornare jQuery alla versione 3.3.1:

    libman update jquery --to 3.3.1
    
  • Per aggiornare jQuery alla versione non definitiva più recente:

    libman update jquery -pre
    

Gestire la cache della libreria

Il libman cache comando gestisce la cache della libreria LibMan. Il filesystem provider non usa la cache della libreria.

Riepilogo

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

Argomenti

PROVIDER

Usato solo con il clean comando . Specifica la cache del provider da pulire. I valori validi includono:

  • cdnjs
  • filesystem
  • jsdelivr
  • unpkg

Opzioni

Per il comando libman cache sono disponibili le opzioni seguenti:

  • --files

    Elencare i nomi dei file memorizzati nella cache.

  • --libraries

    Elencare i nomi delle librerie memorizzate nella cache.

  • -h|--help

    Mostra informazioni della Guida.

  • --verbosity <LEVEL>

    Impostare il livello di dettaglio dell'output. Sostituire <LEVEL> con uno dei valori seguenti:

    • quiet
    • normal
    • detailed

Esempi

  • Per visualizzare i nomi delle librerie memorizzate nella cache per provider, usare uno dei comandi seguenti:

    libman cache list
    
    libman cache list --libraries
    

    Viene visualizzato output simile al seguente:

    Cache contents:
    ---------------
    unpkg:
        knockout
        react
        vue
    cdnjs:
        font-awesome
        jquery
        knockout
        lodash.js
        react
    
  • Per visualizzare i nomi dei file di libreria memorizzati nella cache per provider:

    libman cache list --files
    

    Viene visualizzato output simile al seguente:

    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
    

    Si noti che l'output precedente mostra che le versioni di jQuery 3.2.1 e 3.3.1 vengono memorizzate nella cache nel provider CDNJS.

  • Per svuotare la cache della libreria per il provider CDNJS:

    libman cache clean cdnjs
    

    Dopo aver svuotato la cache del provider CDNJS, il libman cache list comando visualizza quanto segue:

    Cache contents:
    ---------------
    unpkg:
        knockout
        react
        vue
    cdnjs:
        (empty)
    
  • Per svuotare la cache per tutti i provider supportati:

    libman cache clean
    

    Dopo aver svuotato tutte le cache del provider, il libman cache list comando visualizza quanto segue:

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

Risorse aggiuntive