Utiliser l’interface CLI LibMan avec ASP.NET Core
Le Gestionnaire de bibliothèque (LibMan) est un outil allégé d’acquisition de bibliothèque côté client. LibMan télécharge des bibliothèques et infrastructures populaires à partir du système de fichiers ou d’un réseau de distribution de contenu (CDN). Les CDN pris en charge incluent CDNJS, jsDelivr et unpkg. Les fichiers de bibliothèque sélectionnés sont récupérés et placés à l’emplacement approprié dans le projet ASP.NET Core.
Prérequis
Installation
La commande suivante permet d’installer LibMan :
dotnet tool install -g Microsoft.Web.LibraryManager.Cli
Remarque
Par défaut, l’architecture des fichiers binaires .NET à installer représente l’architecture du système d’exploitation en cours d’exécution. Pour spécifier une architecture de système d’exploitation différente, consultez dotnet tool install, --arch option. Pour plus d'informations, consultez le problème GitHub dotnet/AspNetCore.Docs n° 29262.
Un outil global .NET Core est installé à partir du package NuGet Microsoft.Web.LibraryManager.Cli.
Utilisation
libman
Pour afficher la version LibMan installée :
libman --version
Pour afficher les commandes de l’interface CLI disponibles :
libman --help
La commande précédente affiche une sortie similaire à ce qui suit :
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.
Les sections suivantes décrivent les commandes CLI disponibles.
Initialiser LibMan dans le projet
La libman init
commande crée un libman.json
fichier s’il n’en existe pas. Le fichier est créé avec le contenu du modèle d’élément par défaut.
Synopsis
libman init [-d|--default-destination] [-p|--default-provider] [--verbosity]
libman init [-h|--help]
Options
Les options suivantes sont disponibles pour la commande libman init
:
-d|--default-destination <PATH>
Un chemin d’accès relatif au dossier actuel. Les fichiers de bibliothèque sont installés à cet emplacement si aucune
destination
propriété n’est définie pour une bibliothèque danslibman.json
. La valeur<PATH>
est écrite dans la propriétédefaultDestination
delibman.json
.-p|--default-provider <PROVIDER>
Le fournisseur à utiliser si aucun fournisseur n'est défini pour une bibliothèque donnée. La valeur
<PROVIDER>
est écrite dans la propriétédefaultProvider
delibman.json
. Remplacez<PROVIDER>
par l’une des valeurs suivantes :cdnjs
filesystem
jsdelivr
unpkg
-h|--help
Afficher les informations d’aide.
--verbosity <LEVEL>
Définissez la verbosité de la sortie. Remplacez
<LEVEL>
par l’une des valeurs suivantes :quiet
normal
detailed
Exemples
Pour créer un fichier libman.json
dans un projet ASP.NET Core :
Accédez à la racine du projet.
Exécutez la commande suivante :
libman init
Saisissez le nom du fournisseur par défaut ou appuyez sur
Enter
pour utiliser le fournisseur CDNJS par défaut. Les valeurs valides sont les suivantes :cdnjs
filesystem
jsdelivr
unpkg
Un fichier libman.json
est ajouté à la racine du projet avec le contenu suivant :
{
"version": "1.0",
"defaultProvider": "cdnjs",
"libraries": []
}
Ajouter des fichiers de bibliothèque
La commande libman install
télécharge et installe les fichiers de bibliothèque dans le projet. Un fichier libman.json
est ajouté s’il n’en existe pas. Le fichier libman.json
est modifié pour stocker les détails de configuration des fichiers de bibliothèque.
Synopsis
libman install <LIBRARY> [-d|--destination] [--files] [-p|--provider] [--verbosity]
libman install [-h|--help]
Arguments
LIBRARY
Nom de la bibliothèque à installer. Ce nom peut inclure la notation de numéro de version (par exemple, @1.2.0
).
Options
Les options suivantes sont disponibles pour la commande libman install
:
-d|--destination <PATH>
Emplacement d’installation de la bibliothèque. S’il n’est pas spécifié, l’emplacement par défaut est utilisé. Si aucune propriété
defaultDestination
n’est spécifiée danslibman.json
, cette option est obligatoire.Remarque : il existe des limitations au chemin d’accès de destination. Par exemple, lorsque la source du package présente une structure de projet complète et pas seulement le dossier de distribution, vous ne pouvez pas spécifier le déplacement d’un dossier. Pour plus d’informations, consultez les articles sur le problème n°407 et le problème n°702
--files <FILE>
Spécifiez le nom du fichier à installer à partir de la bibliothèque. S’il n’est pas spécifié, tous les fichiers de la bibliothèque sont installés. Fournissez une option
--files
par fichier à installer. Les chemins d’accès relatifs sont également pris en charge. Par exemple :--files dist/browser/signalr.js
.-p|--provider <PROVIDER>
Le nom du fournisseur à utiliser pour l’acquisition de la bibliothèque. Remplacez
<PROVIDER>
par l’une des valeurs suivantes :cdnjs
filesystem
jsdelivr
unpkg
Si elle n’est pas spécifiée, la propriété
defaultProvider
danslibman.json
est utilisée. Si aucune propriétédefaultProvider
n’est spécifiée danslibman.json
, cette option est obligatoire.
-h|--help
Afficher les informations d’aide.
--verbosity <LEVEL>
Définissez la verbosité de la sortie. Remplacez
<LEVEL>
par l’une des valeurs suivantes :quiet
normal
detailed
Exemples
Examinons le fichier libman.json
suivant :
{
"version": "1.0",
"defaultProvider": "cdnjs",
"libraries": []
}
Pour installer le fichier jQuery jquery.min.js
version 3.2.1 dans le dossier wwwroot/scripts/jquery à l’aide du fournisseur CDNJS :
libman install jquery@3.2.1 --provider cdnjs --destination wwwroot/scripts/jquery --files jquery.min.js
Le fichier libman.json
ressemble à ce qui suit :
{
"version": "1.0",
"defaultProvider": "cdnjs",
"libraries": [
{
"library": "jquery@3.2.1",
"destination": "wwwroot/scripts/jquery",
"files": [
"jquery.min.js"
]
}
]
}
Pour installer les fichiers calendar.js
et calendar.css
à partir de C:\temp\contosoCalendar\ à l’aide du fournisseur de système de fichiers :
libman install C:\temp\contosoCalendar\ --provider filesystem --files calendar.js --files calendar.css
L’invite suivante s’affiche pour deux raisons :
- Le fichier
libman.json
ne contient pas de propriétédefaultDestination
. - La commande
libman install
ne contient pas l’option-d|--destination
.
Après l’acceptation de la destination par défaut, le fichier libman.json
ressemble à ce qui suit :
{
"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"
]
}
]
}
Restaurer des fichiers de bibliothèque
La commande libman restore
installe les fichiers de bibliothèque définis dans libman.json
. Les règles suivantes s’appliquent :
- S’il n’existe aucun fichier
libman.json
à la racine du projet, une erreur est renvoyée. - Si une bibliothèque spécifie un fournisseur, la propriété
defaultProvider
danslibman.json
est ignorée. - Si une bibliothèque spécifie une destination, la propriété
defaultDestination
danslibman.json
est ignorée.
Synopsis
libman restore [--verbosity]
libman restore [-h|--help]
Options
Les options suivantes sont disponibles pour la commande libman restore
:
-h|--help
Afficher les informations d’aide.
--verbosity <LEVEL>
Définissez la verbosité de la sortie. Remplacez
<LEVEL>
par l’une des valeurs suivantes :quiet
normal
detailed
Exemples
Pour restaurer les fichiers de bibliothèque définis dans libman.json
:
libman restore
Supprimer des fichiers de bibliothèque
La commande libman clean
supprime les fichiers de bibliothèque précédemment restaurés via LibMan. Dossiers qui deviennent vides après la suppression de cette opération. Les configurations associées aux fichiers de bibliothèque dans la propriété libraries
de libman.json
ne sont pas supprimées.
Synopsis
libman clean [--verbosity]
libman clean [-h|--help]
Options
Les options suivantes sont disponibles pour la commande libman clean
:
-h|--help
Afficher les informations d’aide.
--verbosity <LEVEL>
Définissez la verbosité de la sortie. Remplacez
<LEVEL>
par l’une des valeurs suivantes :quiet
normal
detailed
Exemples
Pour supprimer les fichiers de bibliothèque installés via LibMan :
libman clean
Désinstaller les fichiers de bibliothèque
La commande libman uninstall
:
- Supprime tous les fichiers associés à la bibliothèque spécifiée de la destination dans
libman.json
. - Supprime la configuration de bibliothèque associée de
libman.json
.
Une erreur se produit dans les cas suivants :
- Il n’existe aucun fichier
libman.json
à la racine du projet. - La bibliothèque spécifiée n’existe pas.
Si plusieurs bibliothèques portant le même nom sont installées, vous êtes invité à en choisir une.
Synopsis
libman uninstall <LIBRARY> [--verbosity]
libman uninstall [-h|--help]
Arguments
LIBRARY
Nom de la bibliothèque à désinstaller. Ce nom peut inclure la notation de numéro de version (par exemple, @1.2.0
).
Options
Les options suivantes sont disponibles pour la commande libman uninstall
:
-h|--help
Afficher les informations d’aide.
--verbosity <LEVEL>
Définissez la verbosité de la sortie. Remplacez
<LEVEL>
par l’une des valeurs suivantes :quiet
normal
detailed
Exemples
Examinons le fichier libman.json
suivant :
{
"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/"
}
]
}
Pour désinstaller jQuery, l’une des commandes suivantes réussit :
libman uninstall jquery
libman uninstall jquery@3.3.1
Pour désinstaller les fichiers Lodash installés via le fournisseur
filesystem
:libman uninstall C:\temp\lodash\
Mettre à jour la version de la bibliothèque
La commande libman update
met à jour une bibliothèque installée via LibMan vers la version spécifiée.
Une erreur se produit dans les cas suivants :
- Il n’existe aucun fichier
libman.json
à la racine du projet. - La bibliothèque spécifiée n’existe pas.
Si plusieurs bibliothèques portant le même nom sont installées, vous êtes invité à en choisir une.
Synopsis
libman update <LIBRARY> [-pre] [--to] [--verbosity]
libman update [-h|--help]
Arguments
LIBRARY
Nom de la bibliothèque à mettre à jour.
Options
Les options suivantes sont disponibles pour la commande libman update
:
-pre
Obtenez la dernière version préliminaire de la bibliothèque.
--to <VERSION>
Obtenez une version spécifique de la bibliothèque.
-h|--help
Afficher les informations d’aide.
--verbosity <LEVEL>
Définissez la verbosité de la sortie. Remplacez
<LEVEL>
par l’une des valeurs suivantes :quiet
normal
detailed
Exemples
Pour mettre à jour jQuery vers la dernière version :
libman update jquery
Pour mettre à jour jQuery vers la version 3.3.1 :
libman update jquery --to 3.3.1
Pour mettre à jour jQuery vers la dernière version préliminaire :
libman update jquery -pre
Gérer le cache de bibliothèque
La commande libman cache
gère le cache de bibliothèque LibMan. Le fournisseur filesystem
n’utilise pas le cache de bibliothèque.
Synopsis
libman cache clean [<PROVIDER>] [--verbosity]
libman cache list [--files] [--libraries] [--verbosity]
libman cache [-h|--help]
Arguments
PROVIDER
Utilisé uniquement avec la commande clean
. Spécifie le cache du fournisseur à nettoyer. Les valeurs valides sont les suivantes :
cdnjs
filesystem
jsdelivr
unpkg
Options
Les options suivantes sont disponibles pour la commande libman cache
:
--files
Répertoriez les noms des fichiers mis en cache.
--libraries
Répertoriez les noms des bibliothèques mises en cache.
-h|--help
Afficher les informations d’aide.
--verbosity <LEVEL>
Définissez la verbosité de la sortie. Remplacez
<LEVEL>
par l’une des valeurs suivantes :quiet
normal
detailed
Exemples
Pour afficher les noms des bibliothèques mises en cache par fournisseur, utilisez l’une des commandes suivantes :
libman cache list
libman cache list --libraries
Une sortie similaire à la suivante s’affiche à l’écran :
Cache contents: --------------- unpkg: knockout react vue cdnjs: font-awesome jquery knockout lodash.js react
Pour afficher les noms des fichiers de bibliothèque mis en cache par fournisseur :
libman cache list --files
Une sortie similaire à la suivante s’affiche à l’écran :
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
Notez que la sortie précédente indique que les versions jQuery 3.2.1 et 3.3.1 sont mises en cache dans le fournisseur CDNJS.
Pour vider le cache de bibliothèque du fournisseur CDNJS :
libman cache clean cdnjs
Après avoir vidé le cache du fournisseur CDNJS, la commande
libman cache list
affiche les éléments suivants :Cache contents: --------------- unpkg: knockout react vue cdnjs: (empty)
Pour vider le cache pour tous les fournisseurs pris en charge :
libman cache clean
Après avoir vidé tous les caches du fournisseur, la commande
libman cache list
affiche ce qui suit :Cache contents: --------------- unpkg: (empty) cdnjs: (empty)