wake-up-neo.com

Wie kann ich gulp so einrichten, dass es in Visual Studio 2017 und in msbuild identisch ausgeführt wird, ohne meine Buildskripts ändern zu müssen?

Ich habe Schwierigkeiten, mich in Visual Studio 2017 mit gulp zu beschäftigen. Ich bin mir nicht sicher, wo ich falsch liege, aber es gibt ein paar Dinge, über die ich verwirrt bin, und ich kann keine Online-Ressourcen finden, die dazu gehören jede Verwendung.

Das Build-System, das ich verwende, ist CruiseControl.NET, und ich möchte, dass Schluck damit arbeitet.

Das habe ich bisher gemacht:

  • Installiertes Visual Studio 2017 mit ausgewähltem .NET Core cross-platform development und Node.js development (unter anderen Optionen).

  • Ein neues Projekt erstellt

  • Dem Projekt wurde eine gulpfile.js-Datei hinzugefügt

  • Klicken Sie mit der rechten Maustaste auf die Datei und wählen Sie Task Runner Explorer.

Im Task Runner Explorer bekomme ich die Fehlermeldung Failed to load. See output window (Ctl+Alt+O) for more information..

Dann, wenn ich folgendes mache:

  • Öffnen Sie das interaktive Fenster Node.js

  • Führen Sie den Befehl .npm install --global gulp-cli aus. 

  • Schließen Sie Visual Studio und öffnen Sie es erneut

Im Task Runner Explorer bekomme ich dann die Meldung (No tasks found).

Ist dies der richtige Weg, um Gulp in Visual Studio 2017 einzurichten?

Ich frage dies deshalb, weil ich nicht sicher bin, warum ich Befehlen ein Punktzeichen voranstellen muss (dh .npm im Gegensatz zu npm).

Ich bin auch nicht sicher, wo der Schluck installiert wurde, da ich ihn nicht im Pfad C:\Program Files (x86)\Microsoft Visual Studio\2017\Professional\Web\External\node_modules finden kann.

Aus diesem Grund kann ich CruiseControl.NET nicht wirklich einrichten. 

9
Bonner 웃

Microsoft hat jetzt eine Dokumentation hinzugefügt, wie Sie den Betrieb von Schluck auslösen können: https://docs.Microsoft.com/en-us/aspnet/core/client-side/using-gulp

Stellen Sie sicher, dass Sie Visual Studio 2017 auf die neueste Version aktualisieren, da es jetzt mit Node.js, NPM und Gulp geliefert wird (Sie müssen bei der Installation von Visual Studio nicht "Node.js-Unterstützung" wählen), um dies zu gewährleisten.

Erstellen Sie eine npm-Konfigurationsdatei (package.json) in Ihrem Projektordner und bearbeiten Sie sie, um auf gulp zu verweisen:

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

Erstellen Sie im Projektordner eine Gulp-Konfigurationsdatei (gulpfile.js), um den automatisierten Prozess zu definieren.

Fügen Sie der Befehlszeile nach dem Build für jedes Projekt, für das Schlupf benötigt wird, Folgendes hinzu:

cd $(ProjectDir)
call dotnet restore
npm run gulp

Öffnen Sie zum Ausführen der Aufgaben in Visual Studio 2017 den Task Runner-Explorer (Ansicht> Andere Windows> Task Runner-Explorer).

Dann installieren Sie auf dem Build-Server einfach Node.js und stellen Sie sicher, dass der Pfad zum Knoten zur Umgebungspfadvariable hinzugefügt wird. Wenn der Build-Server Builds erstellt, wird auch das Projektgulp ausgeführt.

6
Bonner 웃

Ich verwende dies, indem Sie zuerst die Erweiterung Web Essentials 2017 verwenden. Dadurch wird das Tool Bundler & Minifier installiert, das Ihrem Projekt eine Datei bundleconfig.json hinzufügt. Klicken Sie mit der rechten Maustaste auf diese Datei, gehen Sie zum Menüpunkt Bundler & Minifier und Sie sehen dort eine Option für Convert In Gulp.

Wenn Sie convert to gulp auswählen, werden die erforderlichen gulpfile.js erstellt und die für die Verwendung von Gulp erforderlichen npm-Pakete installiert. Warten Sie, bis alle npm-Pakete installiert sind, und klicken Sie mit der rechten Maustaste auf gulpfile.js, wählen Sie Task Runner Explorer aus und Sie sollten bereit sein, Gulp-basierte Aufgaben einzurichten. Wenn Sie feststellen, dass gulpfile.js die Nachricht nicht laden konnte, werden möglicherweise noch npm-Pakete installiert (überprüfen Sie die Fortschrittsanzeige in der VS 2017-Statusleiste). Klicken Sie in Task Runner Explorer auf das Symbol Refresh, wenn alle Pakete installiert sind und der Fehler verschwinden sollte.

Es gibt wahrscheinlich eine manuellere Möglichkeit, Gulp-Unterstützung hinzuzufügen, aber diese automatisierte Methode stellt sicher, dass alle Werkzeuge für die ordnungsgemäße Funktion verdrahtet sind und ich nichts vermisse.

Ich habe all diese Informationen von der großartigen Microsoft Docs - Site zusammengetragen, insbesondere diese Seite zu Bundling & Minification. Dort gibt es auch einen Abschnitt Using Gulp, der zusätzliche Informationen zu Ihrer Situation enthält.

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

8
Darren Evans

Ich habe die Lösung hier gefunden.

Sie müssen die Ausführung von Visual Studio mit Ihrer Node.js-Version erzwingen:

Wechseln Sie in Visual Studio 2017 zu Tools> Options

Gehe zu Projects and Solutions> External Web Tools

Fügen Sie den folgenden Pfad hinzu: C:\Program Files\nodejs

 enter image description here

0
Code4Fun