web-dev-qa-db-fra.com

Comment configurer gulp pour une exécution identique dans Visual Studio 2017 et msbuild sans avoir à modifier mes scripts de génération

Je n'arrive pas à comprendre où je me trompe, mais il y a quelques choses qui me confondent et je ne trouve pas vraiment de ressources en ligne qui soient toute utilisation.

Le système de construction que j'utilise est CruiseControl.NET et j'aimerais que gulp fonctionne avec.

C'est ce que j'ai fait jusqu'à présent:

  • Installé Visual Studio 2017 avec .NET Core cross-platform development et Node.js development sélectionnés (parmi d'autres options).

  • Créé un nouveau projet

  • Ajout d'un fichier gulpfile.js au projet

  • Faites un clic droit sur le fichier et choisissez Task Runner Explorer

Dans l'Explorateur de tâches, j'ai l'erreur Failed to load. See output window (Ctl+Alt+O) for more information..

Alors si je fais ce qui suit:

  • Ouvrez la fenêtre interactive Node.js

  • Exécutez la commande .npm install --global gulp-cli 

  • Fermez Visual Studio et rouvrez-le.

Dans l'explorateur de tâches en cours, je reçois alors le message (No tasks found).

Tout d'abord, est-ce la bonne façon de configurer Gulp dans Visual Studio 2017?

La raison pour laquelle je pose cette question est que je ne sais pas pourquoi je dois préfixer les commandes par un point (par exemple, .npm par opposition à npm).

Je ne sais pas non plus où gulp a été installé car je ne le trouve pas dans le chemin C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Web\External\node_modules.

Pour cette raison, je ne peux pas vraiment configurer CruiseControl.NET. 

9
Bonner 웃

Microsoft a maintenant ajouté de la documentation sur la manière d’exécuter gulp: https://docs.Microsoft.com/en-us/aspnet/core/client-side/using-gulp

Assurez-vous de mettre à jour Visual Studio 2017 vers la dernière version car il est maintenant livré avec Node.js, NPM et Gulp (vous n'avez pas besoin de choisir "Support Node.js" lors de l'installation de Visual Studio pour que cela fonctionne).

Créez un fichier de configuration npm (package.json) dans votre dossier de projet et éditez-le pour faire référence à gulp:

{
  "version": "1.0.0",
  "name": "example",
  "private": true,
  "devDependencies": {
    "gulp": "3.9.1"
  },
  "scripts": {
    "gulp": "gulp"
  }
}

Dans le dossier du projet, créez un fichier de configuration Gulp (gulpfile.js) pour définir le processus automatisé.

Ajoutez les éléments suivants à la ligne de commande de l'événement post-génération pour chaque projet nécessitant la prise en charge de gulp:

cd $(ProjectDir)
call dotnet restore
npm run gulp

Pour exécuter les tâches dans Visual Studio 2017, ouvrez l'explorateur de tâches (Voir> Autres fenêtres> Explorateur de tâches).

Ensuite, sur le serveur de construction, installez simplement Node.js et assurez-vous que le chemin d'accès au noeud est ajouté à la variable de chemin d'accès environnementale, puis, lorsque le serveur de construction construit, le gulp du projet sera également exécuté!

6
Bonner 웃

Je gère cela en premier lieu avec l'extension Web Essentials 2017. Cela installe l'outil Bundler & Minifier, qui ajoute ensuite un fichier bundleconfig.json à votre projet. Cliquez avec le bouton droit de la souris sur ce fichier, allez à l’élément de menu Bundler & Minifier et vous verrez une option à cet endroit pour Convertir en gulp.

La sélection de convertir en gulp créera les gulpfile.js nécessaires et installera également les packages npm requis pour utiliser Gulp. Attendez que tous les packages npm soient installés, puis cliquez avec le bouton droit de la souris sur gulpfile.js, sélectionnez Task Runner Explorer et vous devriez être prêt à configurer des tâches basées sur Gulp. Si vous voyez échec du chargement du message par gulpfile.js}, des packages npm sont peut-être encore en cours d'installation (vérifiez la barre de progression dans la barre d'état de VS 2017). Appuyez sur l'icône Rafraîchir dans Task Runner Explorer lorsque tous les packages sont installés et que l'erreur devrait disparaître.

Il y a probablement une manière plus manuelle d'ajouter le support Gulp, mais je trouve que cette méthode plus automatisée garantit que tout l'outillage est câblé pour fonctionner correctement et que je ne manque de rien.

J'ai glané toutes ces informations sur le site génial Microsoft Docs, en particulier sur cette page sur le regroupement et la minification. Il y a aussi une section Using Gulp qui peut fournir des détails supplémentaires sur votre situation.

https://docs.Microsoft.com/en-us/aspnet/core/client-side/bundling-and-minification

8
Darren Evans

J'ai trouvé la solution ici .

Vous devez forcer Visual Studio à s'exécuter avec votre version de Node.js:

Accédez à Tools> Options dans Visual Studio 2017

Allez à Projects and Solutions> External Web Tools

Ajoutez le chemin suivant: C:\Program Files\nodejs

 enter image description here

0
Code4Fun