2015-07-28 16 views
8

Ho provato il nuovo ASP.NET vNext e mi è piaciuto molto il modo in cui ha funzionato gulp. Sto cercando di compilare LESS usando gulp in un progetto MVC di ASP.NET 4.5.2 ora.Utilizzo di gulp in VS2015 per compilare LESS in ASP.NET 4.5.2 Progetto MVC

Ho seguito l'aiuto this.
Ecco cosa ho fatto finora:

Aggiunto un file package.json con il seguente codice.

{ 
    "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" 
    } 
} 

Creato una Gulp Task in gulpfile.js

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/')); 
}); 

Ma poi ho il seguente errore (nella finestra di output):

Impossibile eseguire "C: \ Users \ me \ documents \ visual studio 2015 \ Projects \ projectname \ Gulpfile.js "... cmd.exe/c gulp --tasks-simple 'gulp' non è riconosciuto come comando interno o esterno, programma eseguibile o r file batch.

Immagino di dover scaricare gulp npm. Qualche idea su come farlo funzionare?

+0

hai installato sorso a livello globale 'npm installare gulp' -g – harishr

+0

@entre no a forza. Non dovrebbe accadere, perché ho fatto quella voce in package.json – gldraphael

+0

Inoltre, solo la copia o l'aggiornamento di package.json non installerà nulla, devi eseguire npm install per fare questo – harishr

risposta

7

Digitando npm install nella console di Gestione pacchetti si aggiungerà una cartella node_modules al progetto. Tutte le dipendenze specificate nel file package.json verranno aggiunte a quella cartella.

In questo caso, ora che gulp è installato, l'errore dovrebbe essere risolto.

2

La risposta breve è, per sbarazzarsi di questo errore, installare gulp a livello globale con il seguente comando: NPM installare sorso -g

In VS2015 RC sorso doveva essere installata a livello globale. Altrimenti VS non lo riconoscerebbe. È possibile trovare una spiegazione dettagliata qui: http://www.dotnetcurry.com/visualstudio/1096/using-grunt-gulp-bower-visual-studio-2013-2015

Si suppone che venga risolto in VS2015 RTM, non l'ho ancora controllato.

L'installazione di npm in esecuzione per i pacchetti separati non dovrebbe essere necessaria. Se abiliti le cartelle nascoste, dovresti vedere che VS scarica tutti i moduli nodejs per impostazione predefinita dopo aver salvato il file package.json. Il registro di download può essere trovato nella finestra di output "Bower/NPM" in VS2015 RTM. Se abiliti le cartelle nascoste o dai un'occhiata alla directory del tuo progetto web, dovresti vedere una cartella node_modules con tutti i pacchetti specificati nel tuo file package.json.

9

Non è necessario installare Gulp globalmente per lavorare con esso in Visual Studio 2015. Quando Gulp viene installato nel progetto da npm, aggiunge gulp.cmd a una cartella nel progetto (./node_modules/.bin di default). Visual Studio include quel percorso per impostazione predefinita nei percorsi in cui cerca strumenti esterni come Grunt, Gulp, Bower e npm. Questo è configurabile in Tools->Options->Projects And Solutions->External Web Tools.

Suppongo che npm non abbia installato correttamente i pacchetti quando è stato creato il file package.json. Ogni volta che salvi il file package.json, Visual Studio eseguirà npm install per il tuo progetto, quindi non avrai nemmeno bisogno di aprire una finestra della console. Ma se hai aggiunto un file package.json esistente al progetto, questo non viene installato automaticamente. In tal caso, è necessario eseguire da solo npm install oppure aprire e salvare il file per convincerlo a farlo.

+0

beh, non penso che VS abbia eseguito 'npm install' automaticamente per il mio progetto. Ma ha eseguito 'npm install' da solo quando ho apportato modifiche a package.json in un progetto asp.net vNext – gldraphael

+0

Nel mio caso il mio package.json aveva commenti javascript in esso (" // "), ri-modifica di questo file ha causato la finestra di output per evidenziare i commenti come errati, quindi li ho rimossi e salvato di nuovo il file e npm/gulp è stato installato ok. –

0

Ho trovato se si crea la cartella di soluzione di Visual Studio su un percorso UNC questo errore si verificherà.

Spesso i percorsi UNC mappano la cartella Documenti quando si utilizza una finestra su una macchina virtuale (ad esempio Parallels per Mac).

Per risolvere il problema, ho spostato la cartella della soluzione di studio visivo nell'unità disco della macchina virtuale, quindi ho riaperto il progetto.

2

Nel mio caso ho bisogno di spostare

$(PATH) 

prima

.\node_modules\bin 
Problemi correlati