2015-07-28 6 views
8

Ich habe versucht, die neue ASP.NET vNext und ich mochte die Art und Weise Schluck gearbeitet. Ich versuche, jetzt LESS mit gulp in einem ASP.NET 4.5.2 MVC-Projekt zu kompilieren.Verwenden von Schluck in VS2015, um weniger in ASP.NET 4.5.2 MVC-Projekt zu kompilieren

Ich folgte this für Hilfe.
Hier ist, was ich bisher getan habe:

Eine package.json Datei mit dem folgenden Code hinzugefügt.

{ 
    "name": "package", 
    "version": "1.0.0", 
    "private": true, 
    "devDependencies": { 
    "gulp": "3.9.0", 
    "gulp-bower": "0.0.10", 
    "gulp-config": "0.3.0", 
    "gulp-less": "3.0.3", 
    "gulp-plumber": "1.0.1" 
    } 
} 

eine Gulp Aufgabe in gulpfile.js Erstellt

var gulp = require('gulp'); 
var less = require('gulp-less'); 
var path = require('path'); 
var plumber = require('gulp-plumber'); 
gulp.task('less', function() { 
    return gulp.src('./Content/**/*.less') 
    .pipe(plumber()) 
     .pipe(less({ 
      paths: [path.join(__dirname, 'less', 'includes')] 
     })) 
     .pipe(gulp.dest('./content/')); 
}); 

Aber dann bekomme ich die folgende Fehlermeldung (im Ausgabefenster):

konnte nicht ausgeführt werden „C: \ Benutzer \ me \ Dokumente \ Visual Studio 2015 \ Projekte \ Projektname \ Gulpfile.js "... cmd.exe/c gulp --aufgaben-einfach 'gulp' wird nicht als interner oder externer Befehl erkannt, ausführbares Programm o r Stapeldatei.

Ich rate npm din't Download Schluck. Irgendeine Idee, wie man das funktioniert?

+0

zu bewegen benötigt haben Sie schluck global installiert 'npm -g gulp' installieren – harishr

+0

@entre keine dint ich. Sollte es nicht passieren, weil ich diesen Eintrag in package.json gemacht habe – gldraphael

+0

Auch nur das Kopieren oder Aktualisieren von package.json wird nichts installieren, Sie müssen npm installieren, um das zu tun – harishr

Antwort

7

Wenn Sie in der Package Manager-Konsole npm install eingeben, wird dem Projekt der Ordner node_modules hinzugefügt. Alle in der Datei package.json angegebenen Abhängigkeiten werden diesem Ordner hinzugefügt.

In diesem Fall, jetzt, wo Schluck installiert ist, sollte der Fehler weg sein.

2

Die kurze Antwort ist, um loszuwerden, diesen Fehler zu erhalten, installieren schluck global mit dem folgenden Befehl: npm

In VS2015 RC schluck -g schluck installieren mussten global installiert werden. Sonst würde VS es nicht erkennen. Eine ausführliche Erklärung finden Sie hier: http://www.dotnetcurry.com/visualstudio/1096/using-grunt-gulp-bower-visual-studio-2013-2015

Soll in VS2015 RTM behoben werden, habe ich das aber noch nicht überprüft.

Läuft npm install für die separaten Pakete sollte nicht notwendig sein. Wenn Sie versteckte Ordner aktivieren, sollten Sie sehen, dass VS nach dem Speichern der Datei package.json standardmäßig alle Module von nodejs herunterlädt. Das Download-Protokoll finden Sie im Ausgabefenster "Bower/NPM" in VS2015 RTM. Wenn Sie versteckte Ordner aktivieren oder einen Blick in Ihr Webprojektverzeichnis werfen, sollten Sie den Ordner node_modules mit allen in Ihrer Datei package.json angegebenen Paketen sehen.

9

Sie sollten Gulp nicht global installieren müssen, um damit in Visual Studio 2015 zu arbeiten. Wenn Gulp von npm in das Projekt installiert wird, fügt es gulp.cmd einem Ordner in Ihrem Projekt hinzu (./node_modules/.bin standardmäßig). Visual Studio fügt diesen Pfad standardmäßig in die Pfade ein, in denen nach externen Tools wie Grunt, Gulp, Bower und npm gesucht wird. Dies ist in Tools->Options->Projects And Solutions->External Web Tools konfigurierbar.

Meine Vermutung ist, dass npm die Pakete nicht erfolgreich installiert hat, als Sie die Datei package.json zum ersten Mal erstellt haben. Wenn Sie Ihre package.json-Datei speichern, wird Visual Studio npm install für Ihr Projekt ausführen, so dass Sie nicht einmal ein Konsolenfenster öffnen müssen. Wenn Sie jedoch eine vorhandene Datei package.json zum Projekt hinzugefügt haben, wird sie nicht automatisch für Sie installiert. In diesem Fall müssen Sie npm install selbst ausführen oder die Datei öffnen und speichern, damit VS sie für Sie ausführt.

+0

Nun, ich glaube nicht, dass VS 'npm install' automatisch für mein Projekt lief. Aber es lief "npm install" allein, als ich Änderungen an package.json in einem asp.net vNext-Projekt vorgenommen habe. – gldraphael

+0

In meinem Fall hatte meine package.json Javascript-Kommentare darin ("//"), die diese Datei neu bearbeiteten hat das Ausgabefenster dazu gebracht, die Kommentare als fehlerhaft zu markieren, also habe ich sie entfernt und die Datei erneut gespeichert und npm/gulp wurde ok installiert. –

0

Ich habe festgestellt, wenn Sie den Visual Studio Solution-Ordner auf einem UNC-Pfad erstellen, wird dieser Fehler auftreten.

Oft UNC-Pfade zuordnen Ihren Ordner Dokumente bei Verwendung eines Windows auf virtuellen Maschine (z. B. Parallels für Mac).

Um das Problem zu beheben, habe ich den Visual Studio Solution-Ordner auf das Laufwerk der virtuellen Maschine verschoben und dann das Projekt erneut geöffnet.

2

In meinem Fall habe ich

$(PATH) 

vor

.\node_modules\bin 
Verwandte Themen