2
votes

Comment utiliser correctement les bibliothèques JavaScript NuGet dans le projet ASP.Net Core sur l'exemple MathJax?

J'ai installé la bibliothèque MathJax pour mon site sur ASP.Net Core depuis Package Manager. J'ai vu 'MathJax (2.7.0)' dans les dépendances NuGet:

Image de mes dépendances

Mais est-ce tout. Quand je vois le répertoire wwwroot \ lib dans mon projet, je ne vois pas le dossier 'MathJax' ou quelque chose de similaire dedans:

Image de ma bibliothèque frontale

Mais quand j'ai besoin d'utiliser MathJax, j'ai besoin d'écrire quelque chose de similaire dans ma page html:


Je ne peux pas copier la bibliothèque NuGet directement dans wwwroot \ lib , car je ne veux pas ajouter à mon dépôt git beaucoup de fichiers de projet externe (> 36 Mo,> 1500 fichiers). D'ailleurs, pourquoi utiliser NuGet alors? De plus, je ne peux pas ajouter manuellement des éléments existants de la bibliothèque MathJax NuGet (menu Ajouter -> Élément existant ... ), car ils sont nombreux et le chemin absolu ne sera pas correctement sur un autre PC.

Comment puis-je obtenir correctement le lien sur la bibliothèque MathJax dans le package NuGet?


1 commentaires

Cochez cette réponse , vous devez utiliser un ConfigureOptions .


3 Réponses :


1
votes

Accédez au projet Web, cliquez avec le bouton droit de la souris et accédez à la gestion des scripts client, puis recherchez votre bibliothèque et installez-la.


1 commentaires

Merci. Ajouter: cette option est disponible dans Visual Studio au-dessus de 15.8 (2017) (j'ai dû mettre à jour mon Studio).



3
votes

Les packages NuGet de la bibliothèque JavaScript / CSS ne sont pas pour Core. Ils sont pour MVC. ASP.NET Core a une approche complètement différente des fichiers statiques et des bibliothèques côté client que ASP.NET MVC.

Pour un site ASP.NET Core, vous devez utiliser LibMan ou npm pour obtenir vos bibliothèques côté client. LibMan est plus simple, mais aussi très naïf et limité. En particulier, il ne prend en charge que les bibliothèques qui se trouvent sur cdnjs. Bien qu'il y ait beaucoup de couverture là-bas, ce n'est pas complet, et certaines bibliothèques sont simplement disponibles. Je ne sais pas si votre bibliothèque particulière l'est ou non.

Cependant, étant donné que vous finirez presque inévitablement par avoir besoin de quelque chose que vous ne pouvez pas obtenir via LibMan, et que vous serez obligé d'utiliser npm de toute façon, vous pourriez aussi bien utiliser npm et vous y habituer. Il y a plus d'une courbe d'apprentissage car vous devez également créer des tâches de construction avec quelque chose comme Webpack, Gulp, Grunt, etc. Les packages npm vont dans un dossier node_modules , qui ne doit pas être servi directement. À tout le moins, vous devrez utiliser Webpack, Gulp, etc. pour copier le dist / build du paquet npm (c'est-à-dire les fichiers JS / CSS réels que vous référencerez) dans votre wwwroot / lib répertoire. Il existe de nombreux guides en ligne pour savoir comment configurer cela. Faites juste quelques recherches.


1 commentaires

Merci beaucoup. J'ai trouvé un bon article pour votre réponse: metanit.com/sharp/aspnet5/13.7.php



1
votes

Dans le VS2019, allez dans le répertoire wwwroot / lib , faites un clic droit et sélectionnez Ajouter -> Bibliothèque côté client . puis incluez votre fichier.


0 commentaires