Je souhaite mettre à jour Bootstrap dans ASP.NET Core avec NuGet. J'ai utilisé ceci:
Install-Package bootstrap -Version 4.0.0
Il a ajouté les dépendances, mais comment puis-je l'ajouter à mon projet maintenant? Quel est le chemin d'accès aux dépendances NuGet locales?
.net
asp.net-core
nuget
bootstrap-4
asp.net-core-2.0
développeur
la source
la source
Réponses:
Comme d'autres l'ont déjà mentionné, le gestionnaire de packages Bower , qui était généralement utilisé pour des dépendances comme celle-ci dans les applications qui ne reposent pas sur de lourds scripts côté client, est en voie de disparition et recommande activement de passer à d'autres solutions:
Ainsi, bien que vous puissiez toujours l'utiliser pour le moment, Bootstrap a également annoncé l' abandon de son support . Par conséquent, les modèles ASP.NET Core intégrés sont lentement modifiés pour s'en éloigner également.
Malheureusement, il n'y a pas de voie à suivre claire. Cela est principalement dû au fait que les applications Web évoluent continuellement vers le côté client, ce qui nécessite des systèmes de construction complexes côté client et de nombreuses dépendances. Donc, si vous construisez quelque chose comme ça, vous savez peut-être déjà comment résoudre ce problème, et vous pouvez étendre votre processus de construction existant pour y inclure simplement Bootstrap et jQuery.
Mais il existe encore de nombreuses applications Web qui ne sont pas si lourdes du côté client, où l'application s'exécute toujours principalement sur le serveur et le serveur sert par conséquent des vues statiques. Bower remplissait auparavant cela en facilitant la publication des dépendances côté client sans trop de processus.
Dans le monde .NET, nous avons également NuGet et avec les versions précédentes d'ASP.NET, nous pourrions également utiliser NuGet pour ajouter des dépendances à certaines dépendances côté client puisque NuGet placerait simplement le contenu correctement dans notre projet. Malheureusement, avec le nouveau
.csproj
format et le nouveau NuGet, les packages installés sont situés en dehors de notre projet, nous ne pouvons donc pas simplement les référencer.Cela nous laisse quelques options pour ajouter nos dépendances:
Installation unique
C'est ce que font actuellement les modèles ASP.NET Core, qui ne sont pas des applications monopages. Lorsque vous les utilisez pour créer une nouvelle application, le
wwwroot
dossier contient simplement un dossierlib
contenant les dépendances:Si vous regardez de près les fichiers actuellement, vous pouvez voir qu'ils ont été initialement placés là avec Bower pour créer le modèle, mais cela est susceptible de changer bientôt. L'idée de base est que les fichiers sont copiés une fois dans le
wwwroot
dossier afin que vous puissiez en dépendre.Pour ce faire, nous pouvons simplement suivre l'introduction de Bootstrap et télécharger directement les fichiers compilés . Comme mentionné sur le site de téléchargement, cela n'inclut pas jQuery , nous devons donc également le télécharger séparément; il contient cependant Popper.js si nous choisissons d'utiliser le
bootstrap.bundle
fichier plus tard - ce que nous ferons. Pour jQuery, nous pouvons simplement obtenir un seul fichier «compressé, production» à partir du site de téléchargement ( faites un clic droit sur le lien et sélectionnez «Enregistrer le lien sous ...» dans le menu).Cela nous laisse avec quelques fichiers qui seront simplement extraits et copiés dans le
wwwroot
dossier. Nous pouvons également créer unlib
dossier pour préciser qu'il s'agit de dépendances externes:C'est tout ce dont nous avons besoin, il ne nous reste plus qu'à ajuster notre
_Layout.cshtml
fichier pour inclure ces dépendances. Pour cela, nous ajoutons le bloc suivant au<head>
:Et le bloc suivant à la toute fin du
<body>
:Vous pouvez également simplement inclure les versions minifiées et ignorer les
<environment>
aides de balises ici pour le rendre un peu plus simple. Mais c'est tout ce que vous devez faire pour continuer à démarrer.Dépendances de NPM
La méthode la plus moderne, également si vous souhaitez maintenir vos dépendances à jour, serait d'obtenir les dépendances à partir du référentiel de packages NPM. Vous pouvez utiliser NPM ou Yarn pour cela; dans mon exemple, j'utiliserai NPM.
Pour commencer, nous devons créer un
package.json
fichier pour notre projet afin de pouvoir spécifier nos dépendances. Pour ce faire, nous le faisons simplement à partir de la boîte de dialogue «Ajouter un nouvel élément»:Une fois que nous avons cela, nous devons le modifier pour inclure nos dépendances. Cela devrait ressembler à ceci:
En enregistrant, Visual Studio exécutera déjà NPM pour installer les dépendances pour nous. Ils seront installés dans le
node_modules
dossier. Il ne reste donc plus qu'à récupérer les fichiers à partir de là dans notrewwwroot
dossier. Il existe quelques options pour ce faire:bundleconfig.json
pour le regroupement et la minificationNous pouvons utiliser l'une des différentes façons de consommer un
bundleconfig.json
pour le regroupement et la minification, comme expliqué dans la documentation . Un moyen très simple consiste simplement à utiliser le package NuGet BuildBundlerMinifier qui configure automatiquement une tâche de génération pour cela.Après avoir installé ce package, nous devons créer un
bundleconfig.json
à la racine du projet avec le contenu suivant:Cela configure essentiellement les fichiers à combiner en quoi. Et quand nous construisons, nous pouvons voir que les
vendor.min.css
etvendor.js.css
sont créés correctement. Donc, tout ce que nous devons faire est d'ajuster notre_Layouts.html
nouveau pour inclure ces fichiers:Utiliser un gestionnaire de tâches comme Gulp
Si nous voulons passer un peu plus au développement côté client, nous pouvons également commencer à utiliser des outils que nous utiliserions là-bas. Par exemple Webpack qui est un outil de construction très couramment utilisé pour vraiment tout. Mais nous pouvons aussi commencer avec un gestionnaire de tâches plus simple comme Gulp et effectuer nous-mêmes les quelques étapes nécessaires.
Pour cela, nous ajoutons un
gulpfile.js
à la racine de notre projet, avec le contenu suivant:Maintenant, nous devons également ajuster notre
package.json
pour avoir des dépendances surgulp
etgulp-concat
:Enfin, nous éditons notre
.csproj
pour ajouter la tâche suivante qui garantit que notre tâche Gulp s'exécute lorsque nous construisons le projet:Maintenant, lorsque nous construisons, la
default
tâche Gulp s'exécute, qui exécute lesbuild-vendor
tâches, qui construit ensuite notrevendor.min.css
etvendor.min.js
comme nous l'avons fait auparavant. Donc, après avoir ajusté notre_Layout.cshtml
comme ci-dessus, nous pouvons utiliser jQuery et Bootstrap.Alors que la configuration initiale de Gulp est un peu plus compliquée que le
bundleconfig.json
ci-dessus, nous sommes maintenant entrés dans le monde des nœuds et pouvons commencer à utiliser tous les autres outils intéressants. Cela vaut donc la peine de commencer par ceci.Conclusion
Bien que cela soit soudainement devenu beaucoup plus compliqué qu'avec la simple utilisation de Bower, nous gagnons également beaucoup de contrôle avec ces nouvelles options. Par exemple, nous pouvons maintenant décider quels fichiers sont réellement inclus dans le
wwwroot
dossier et à quoi ils ressemblent exactement. Et nous pouvons également l'utiliser pour faire les premiers pas dans le monde du développement côté client avec Node, ce qui au moins devrait aider un peu avec la courbe d'apprentissage.la source
node -v
et obtenir une version actuelle ici sur nodejs.orgEn regardant cela, il semble que l'approche LibMan fonctionne mieux pour mes besoins avec l'ajout de Bootstrap. Je l'aime car il est maintenant intégré à Visual Studio 2017 (15.8 ou version ultérieure) et possède ses propres boîtes de dialogue.
Mise à jour 6/11/2020: bootstrap 4.1.3 est maintenant ajouté par défaut avec VS-2019.5 (merci à Harald S. Hanssen pour l'avoir remarqué.)
La méthode par défaut que VS ajoute aux projets utilise Bower, mais il semble qu'elle est en voie de disparition. Dans l'en-tête de la page Microsoft Bower, ils écrivent:
Après quelques liens, vous accédez à Utiliser LibMan avec ASP.NET Core dans Visual Studio, où il montre comment les bibliothèques peuvent être ajoutées à l'aide d'une boîte de dialogue intégrée:
Ensuite, pour bootstrap, sélectionnez simplement (1) le unpkg, (2) tapez "bootstrap @ .." (3) Install. Après cela, vous voudrez simplement vérifier que toutes les inclusions dans _Layout.cshtml ou à d'autres endroits sont correctes. Ils devraient être quelque chose comme href = "~ / lib / bootstrap / dist / js / bootstrap ..." )
la source
Essayez Libman , c'est aussi simple que Bower et vous pouvez spécifier wwwroot / lib / comme dossier de téléchargement.
la source
Quel est le truc pour moi, c'est:
1) Faites un clic droit sur wwwroot> Ajouter> Bibliothèque côté client
2) Tapé "bootstrap" dans le champ de recherche
3) Sélectionnez "Choisir des fichiers spécifiques"
4) Faites défiler vers le bas et sélectionnez un dossier. Dans mon cas, j'ai choisi "twitter-bootstrap"
5) Vérifiez "css" et "js"
6) Cliquez sur "Installer".
Quelques secondes plus tard, je les ai tous dossier wwwroot. Faites de même pour tous les packages côté client que vous souhaitez ajouter.
la source
Libman semble désormais être l'outil préféré de Microsoft. Il est intégré à Visual Studio 2017 (15.8).
Cet article décrit comment l'utiliser et même comment configurer une restauration effectuée par le processus de génération.
La documentation de Bootstrap vous indique les fichiers dont vous avez besoin dans votre projet.
L'exemple suivant devrait fonctionner comme configuration pour libman.json.
}
la source
Nous utilisons bootstrap 4 dans le noyau asp.net mais référençons les bibliothèques de "npm" en utilisant l'extension "Package Installer" et avons trouvé que c'était mieux que Nuget pour les bibliothèques Javascript / CSS.
Nous utilisons ensuite l'extension "Bundler & Minifier" pour copier les fichiers pertinents pour la distribution (du dossier npm node_modules, qui se trouve en dehors du projet) dans wwwroot comme nous le souhaitons pour le développement / déploiement.
la source
Malheureusement, vous allez avoir du mal à utiliser NuGet pour installer Bootstrap (ou la plupart des autres frameworks JavaScript / CSS) sur un projet .NET Core. Si vous regardez l'installation de NuGet, cela vous indique qu'elle est incompatible:
si vous devez savoir où se trouvent les dépendances des packages locaux, elles se trouvent maintenant dans votre répertoire de profil local. c'est à dire
%userprofile%\.nuget\packages\bootstrap\4.0.0\content\Scripts
.Cependant, je suggère de passer à npm, ou bower - comme dans la réponse de Saineshwar.
la source
BS4 est désormais disponible sur .NET Core 2.2 . Sur le programme d'installation du SDK 2.2.105 x64 à coup sûr. J'exécute Visual Studio 2017 avec. Jusqu'ici tout va bien pour les nouveaux projets d'application Web.
la source
Pourquoi ne pas simplement utiliser un CDN? À moins que vous n'ayez besoin de modifier le code de BS, il vous suffit de référencer les codes dans CDN.
Voir BS 4 CDN ici:
https://www.w3schools.com/bootstrap4/bootstrap_get_started.asp
Au bas de la page.
la source
Utilisez le fichier de configuration nmp (ajoutez-le à votre projet Web), puis ajoutez les packages nécessaires de la même manière que nous l'avons fait en utilisant bower.json et enregistrez. Visual Studio le téléchargera et l'installera. Vous trouverez le package sous le nœud nmp de votre projet.
la source