2016-03-28 28 views
0

Ben yeni yeni gulp ve ben msbuild ile entegre etme sorunu ile karşılaşıyorum. Gulp kullanarak görevleri çalıştırmaya çalışıyorum (örneğin: dosyaları küçültme) ve projemi oluşturduğumda mükemmel çalışıyor olsa da, msbuild üzerinde çalışma başarısız oluyor.npm, msbuild ile çalışmaz

var gulp=require("gulp"), 
gutil=require("gulp-util"), 
uglify=require("gulp-uglify"), 
debug=require("gulp-debug"), 
concat=require("gulp-concat"); 
var uglifycss = require('gulp-uglifycss'); 
gulp.task("js",function(){ 
    gulp.src(["./**/*.js","!./**/*.min.*","!./**/gulpfile.js"]) 
    .pipe(uglify()) 
    .pipe(debug()) 
    .pipe(gulp.dest(function(file){return file.base})); 

gulp.task('css', function() { 
    gulp.src(["./**/*.css","!./**/*.min.*"]) 
    .pipe(uglifycss()) 
    .pipe(gulp.dest(function(file){return file.base})); 
}); 
gulp.task("build",["js","css"]); 
gulp.task('default', function(){ 
gulp.run('build'); 
}); 

bu powershell komut dosyası compileClient.ps1 tarafından çağrılır: Burada gulpfile.js kodudur

npm install -g gulp 
npm install --save-dev gulp gulp-util 
npm install --save-dev gulp-uglify gulp-concat 
npm install --save gulp-uglifycss 
npm install --save-dev gulp-debug 
gulp 
npm install -g rimraf 
cmd /c $env:APPDATA\npm\rimraf ./node_modules 

ben cmd bu komutu çalıştırmak,

"%WINDIR%\System32\WindowsPowerShell\v1.0\powershell.exe" -file "$(ProjectDir)compileClient.ps1" 

İyi çalışır ve hedef dosyaları küçültür. Daha sonra bu komutu projemin yapım sonrası etkinliğine koymaya çalıştım ve yerel olarak görsel stüdyosunda çalıştırdığımda da iyi çalışıyor. düğüm ve onun tarafından belirlenen ben YOL değişkeni kontrol npm : the term 'npm' is not recognized as the name of a cmdlet..

:

ancak bu proje msbuild tarafından inşa edildiğinde, aynı post-build olay çalışmaz, bu aşağıdaki resimde gösterildiği aşağıdaki mesajı verir doğru. Ayrıca, cmd'mde node -v yaptığımda, yüklü olan düğümün sürümünü görebiliyordum, ancak msbuild komut satırında bunu yaptığımda, düğümü tanımlayamıyor.

Bir referans https://www.niclassahlin.com/2015/04/10/running-gulp-during-tfs-build/

Benim bu konuda herhangi bir yardım/tavsiye seviniriz, teşekkür olarak bu blogu kullandı.

+0

Bu sorunun neden tam olarak ne olduğunu biliyorum. MSBuild çözümü her zaman yönetici olarak yapılandırır, nodejs kurulum kapsamı kullanıcı profiliyle sınırlıdır, bu yüzden şimdi yönetici hesabına yüklemek için bir yol bulmam gerekiyor. –

cevap

0

npm'yi yüklemek için Node.js installer'u kullanabilirsiniz, npm bundan sonra tüm kullanıcılar için geçerli olacaktır.