web-dev-qa-db-fra.com

Comment utiliser Microsoft.jQuery.Unobtrusive.Ajax avec libman (gestionnaire de bibliothèque) asp.net Core 2.1?

J'essaie d'utiliser ajax discret pour mettre à jour mes vues partielles. Malheureusement, j'ai rencontré un problème lorsque j'allais installer le package, car Bower ne fonctionne pas (?) Ou n'est plus recommandé selon https://docs.Microsoft.com/en-us/aspnet/core /client-side/bower?view=aspnetcore-2.1 . Au lieu de cela, ils nous recommandent d'utiliser Libman.

J'ai suivi les étapes de https://www.c-sharpcorner.com/article/unobtrusive-ajax-and-jquery-for-partial-updates-in-asp-net-mvc/ .

J'ai donc installé le nuget Microsoft.jQuery.Unobtrusive.Ajax-package, mais comment référencer le ajax-package avec libman?

J'ai regardé cette réponse Comment faire référence à Microsoft.JQuery.Unobtrusive.Ajax dans mon projet MVC ASP.NET Core mais cela montre seulement comment utiliser Bower.

16
Erik Sellberg

Vous pouvez utiliser npm. Ajoutez le fichier pakage.json à la racine de votre projet web

{
  "version": "1.0.0",
  "name": "your-system",
  "devDependencies": {
    "jquery-ajax-unobtrusive": "^3.2.4"
  },
  "exclude": [
  ]
}

Désormais, tout ce qui concerne la bibliothèque sera automatiquement téléchargé dans node_modules/jquery-validation-unobtrusive.

N'oubliez pas que le dossier node_module ne fait pas partie du projet, vous devez donc cliquer sur Show All Files pour voir tous les dossiers.

enter image description here

Après cela, si vous souhaitez toujours avoir la dernière version de la bibliothèque au lieu de copier le fichier dans votre dossier js, vous pouvez utiliser la configuration de l'ensemble. Lance ça:

Install-Package BuildBundlerMinifier -Version 2.8.391

Après cela, créez un fichier json - bundleconfig.json à la racine de votre projet web

[ 
  {
    "outputFileName": "wwwroot/js/myjs.min.js",
    "inputFiles": [
      "node_modules/jquery-ajax-unobtrusive/jquery.unobtrusive-ajax.min.js"
    ]
  }

]

Cela créera sur chaque build myjs.min.js fichier dans votre dossier js dans wwwroot

6
mybirthname

J'ai aussi eu du mal avec LibMan au début. J'ai trouvé ce guide qui souligne qu'il y a une partie GUI de LibMan . L'utilisation de la partie interface utilisateur de LibMan sous le "menu contextuel du projet -> Ajouter -> Bibliothèque côté client" m'a aidé à trouver de meilleures façons de définir les fichiers que je veux et de changer plus facilement de fournisseur.

J'ai fini par avoir la plupart de mes fichiers provenant de cdnjs, mais j'ai configuré jquery-ajax-unobtrusive pour provenir de unpkg comme ceci:

{
    "provider": "unpkg",
    "library": "[email protected]",
    "destination": "wwwroot/lib/jquery-ajax-unobtrusive/"
}
9
Pinski

La réponse de @mybirthname est excellente. Une autre façon de le faire est d'utiliser libman cli. Nous pouvons utiliser la commande suivante pour installer le libman:

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

Et maintenant, vous pouvez installer jquery, jquery-validation-unobtrusive et ainsi de suite à votre guise:

pour initier un libman.json:

libman init 

pour installer une dépendance de jquery-validation-unobtrusive:

> libman install jquery-validation-unobtrusive
Destination [lib\jquery-validation-unobtrusive]:
lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.js written to disk
lib/jquery-validation-unobtrusive/jquery.validate.unobtrusive.min.js written to disk
Installed library "[email protected]" to "lib\jquery-validation-unobtrusive" 

pour installer une dépendance de jquery:

> libman install jquery
Destination [lib\jquery]:
lib/jquery/core.js written to disk
lib/jquery/jquery.js written to disk
lib/jquery/jquery.min.js written to disk
lib/jquery/jquery.min.map written to disk
lib/jquery/jquery.slim.js written to disk
lib/jquery/jquery.slim.min.js written to disk
lib/jquery/jquery.slim.min.map written to disk
Installed library "[email protected]" to "lib\jquery"

[Modifier]

À installer jquery-ajax-unobtrusive sur npm, puisqu'il n'est pas encore sur cdnjs, nous pouvons utiliser le fournisseur unpkg:

unpkg est un réseau de distribution de contenu rapide et mondial pour tout sur npm

libman install -p unpkg jquery-ajax-unobtrusive
7
itminus

Microsoft a rédigé un document d'aide sur la gestion de la bibliothèque côté client.

https://docs.Microsoft.com/en-us/aspnet/core/client-side/libman/libman-vs?view=aspnetcore-2.2

Il comporte des étapes pour utiliser la boîte de dialogue Ajouter une bibliothèque côté client dans Visual Studio. Dans l'Explorateur de solutions, cliquez avec le bouton droit sur le dossier de projet dans lequel les fichiers doivent être ajoutés. Choisissez Ajouter> Bibliothèque côté client. La boîte de dialogue Ajouter une bibliothèque côté client apparaît.

0
Himalaya Garg