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 inlibman.json
. Il<PATH>
valore viene scritto nelladefaultDestination
proprietà dilibman.json
.-p|--default-provider <PROVIDER>
Provider da utilizzare se non è definito alcun provider per una determinata libreria. Il
<PROVIDER>
valore viene scritto nelladefaultProvider
proprietà dilibman.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
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à inlibman.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à inlibman.json
. Se non viene specificata alcunadefaultProvider
proprietà inlibman.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 unadefaultDestination
proprietà. - Il
libman install
comando non contiene l'opzione-d|--destination
.
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à inlibman.json
viene ignorata. - Se una libreria specifica una destinazione, la
defaultDestination
proprietà inlibman.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)