J'ai commencé à travailler sur une application .Net Core il y a environ un an. J'ai utilisé .Net Core pour configurer mon projet dans Visual Studio et Bower pour gérer les packages côté client. Il semble que bower
soit en cours de maintenance/discontinué et les "responsables" suggèrent d'utiliser plutôt yarn
ou webpack
.
Ma question est donc comment commencer à utiliser yarn
au lieu de bower
? (ou npm si c'est plus approprié)
Lorsque j'ai commencé mon projet, j'ai utilisé bower à partir du gestionnaire de packages Visual Studio en tapant simplement:
bower install <package-name>
Et il a réussi à installer les fichiers/répertoires dans mon dossier wwwroot/lib/
. Je devais juste ajouter la dépendance à mon _Layout.cshtml
et tout fonctionnait parfaitement.
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"
asp-fallback-src="~/lib/jquery/dist/jquery.min.js"
asp-fallback-test="window.jQuery">
</script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/3.3.7/js/bootstrap.min.js"
asp-fallback-src="~/lib/bootstrap/dist/js/bootstrap.min.js"
asp-fallback-test="window.jQuery && window.jQuery.fn && window.jQuery.fn.modal">
</script>
Je trouve assez difficile de comprendre comment utiliser fil ou npm pour obtenir la même "facilité" dans Visual Studio 2017. J'ai déjà accès à la minification des fichiers via le package BundlerMinifier.Core
NuGet. , ce n’est donc pas une exigence pour la solution que je veux utiliser.
J'ai essayé de googler, mais il semble que ce n'est pas un problème très commun. Et tous les liens que j'ai trouvés suggéraient d'utiliser npm et de configurer gulp pour déplacer des fichiers vers wwwroot/lib/
et je l'ai essayé, mais je reçois des erreurs étranges en le faisant.
Comment puis-je utiliser yarn
pour installer des packages avec les mêmes fonctionnalités que celles avec bower
? ou devrais-je utiliser npm
à la place?
J'ai eu la même question que vous et découvert que le fil n'est pas trop difficile à utiliser. Ici, je discute de l’installation de Yarn, des modifications apportées à Visual Studio 17 et du flux de travail du projet.
Installation du fil
Pour exécuter Yarn, vous devez installer deux choses:
Désactiver NPM dans Visual Studio 2017
Yarn utilise un fichier dans votre projet, package.json, pour garder une trace de ce qu'il a installé. NPM utilise également le même fichier. Pour éviter tout conflit, j'ai désactivé les points d'ancrage NPM dans Visual Studio. Si cette fonction est activée, NPM chargera les packages chaque fois que package.json sera modifié.
Pour désactiver NPM, accédez au menu Outils et sélectionnez Options .... Dans l'arborescence de gauche, accédez à: Projets et solutions -> Gestion des packages Web -> Restauration du package. Sur le côté droit, désactivez les points d'ancrage NPM en modifiant les deux options en False:
Dans l'image ci-dessus, j'ai également désactivé les crochets pour Bower. Ceci est facultatif - je l’ai fait pour éviter que Bower n’installe accidentellement un paquet.
Configuration du projet pour le fil
Pour utiliser Yarn avec votre projet, vous devez effectuer quelques opérations:
{
}
La structure de répertoires suivante montre un exemple de projet avec ces deux choses:
+ Solution
+ Project
+ wwwroot
+ lib
+ Program.cs
+ Startup.cs
+ package.json
Utilisation du fil/Workflow du projet
Voici la partie que vous attendiez. Commencez par ouvrir la console du gestionnaire de paquets. La console est juste une console PowerShell au sein de VS. Une fois ouvert, vous serez dans le répertoire de la solution, vous aurez donc besoin de CD dans le répertoire du projet. Après cela, vous pouvez ajouter des bibliothèques en utilisant Yarn:
cd [project dir]
yarn add --modules-folder=wwwroot\lib jquery
yarn add --modules-folder=wwwroot\lib [email protected]
Les packages sont maintenant installés sous wwwroot\lib, car c’est là que vous indiquez à Yarn de les installer.
Ajout d'un raccourci de fil dans Visual Studio 2017
Si vous pensez que la section précédente impliquait trop de frappe, vous pouvez simplifier les choses en ajoutant un raccourci dans VS. Lorsque cela est configuré, Yarn s'exécutera automatiquement à partir du répertoire du projet, en spécifiant le dossier cible. Tout ce que vous avez à faire est de lui dire quel paquet installer.
Dans Visual Studio, cliquez sur Outils> Outils externes ... dans le menu. Dans la fenêtre contextuelle, cliquez sur le bouton Ajouter et remplissez les champs comme suit:
Activez également ces cases à cocher:
Cliquez sur le bouton OK pour enregistrer le raccourci.
Alors maintenant, vous devriez avoir un élément Ajout de fil dans le menu Outils. Cliquez dessus et vous obtiendrez une fenêtre contextuelle vous demandant des arguments d'entrée:
Tout ce que vous avez à faire est de cliquer sur la première zone d’édition et d’ajouter votre paquet. Par exemple, pour ajouter jquery:
Cliquez sur OK dans le menu contextuel et Yarn devrait fonctionner comme par magie et installer votre paquet.
Autres considérations
Le fil et le npm sont très semblables. Vous pouvez utiliser soit fil, soit npm pour atteindre exactement le même objectif, en installant des packages de nœuds. Ceci est similaire à ce que bower a fait pour vous précédemment, sauf que bower les a ajoutés aux ressources Web de votre projet au lieu de node_modules.
WebPack est un outil permettant uniquement de créer des ressources Web côté client et de les regrouper avec les dépendances.
Si vous n'en avez pas besoin, continuez à utiliser Bower ou Nuget pour les projets existants. Pour les nouveaux projets, utilisez WebPack et yarn/npm.
À mon avis, une option plus simple consiste à utiliser du fil et à spécifier le dossier dans lequel installer les packages à l'aide d'un fichier rc. Voici comment vous le faites:
1) Téléchargez le fil sur votre ordinateur à partir du site du fil , vous devez vous assurer qu'il est inclus dans le chemin d'accès de votre ordinateur si vous utilisez Windows.
2) Créez un package.json ou tapez "yarn init" à la racine de votre projet via la ligne de commande (si vous tapez "yarn init", il vous demandera quelques informations pour vous aider à formater le package.json. fichier). Notez la section moteurs du fichier package.json spécifiant quel moteur de fil:
{
"version": "1.0.0",
"dependencies": {
"bootstrap": "4.1.3",
"popper.js": "1.14.3",
},
"engines": {
"yarn": ">= 1.0.0"
}
}
Créez ensuite un fichier .yarnrc en ajoutant un nouveau fichier texte dans Visual Studio au projet. Le nom complet du fichier doit être ".yarnrc" no .txt après, le projet ajoutera automatiquement le fichier .yarnrc sous le package. json, puis ajoutez ce qui suit au fichier rc:
--modules-folder wwwroot/lib
Aucune citation nécessaire.
Ensuite, ouvrez simplement la ligne de commande dans le dossier racine du projet et tapez "fil" et tous les packages seront installés dans le dossier spécifié dans le fichier .yarnrc.