2016-04-14 26 views
0

geçiş 4.4.4 BuradaDüğüm hatası: komut satırı düz için geçersiz veya eksik argüman. Node.js içinde spawn kullanırken hata aracı geçişi am

Node error: illegal or missing argument for command line flat. switch

kodum:

var bat = require.resolve('../src/util/bs/build.bat'); 
    var profile = require.resolve('../profiles/profile.js'); 
    var profileStr = '--profile' + ' ' + profile; 
    var ls = spawn(bat, [profileStr]); 

    ls.stdout.on('data', function (data) { 
     console.log('stdout: ' + data); 
    }); 

    ls.stderr.on('data', function (data) { 
     console.log('stderr: ' + data); 
    }); 

    ls.on('exit', function (code) { 
     console.log('child process exited with code ' + code); 
    }); 

gibi komut isteminden denilen düzgün .bat dosyası çalıştırma:

"C:\Projects\xxx\src\util\bs\build.bat --profile C:\Projects\xxx\profiles\app.profile.js" 

cevap

0

Bu sorunu bir dizi kullanarak .bat değişkenleri geçirerek çözebildim.

Örnek:

var bat = require.resolve('../src/util/bs/build.bat'); 
var profile = require.resolve('../profiles/profile.js'); 

var ls = spawn(bat, ['--profile', profile]); 

ls.stdout.on('data', function (data) { 
    console.log('stdout: ' + data); 
}); 

ls.stderr.on('data', function (data) { 
    console.log('stderr: ' + data); 
}); 

ls.on('exit', function (code) { 
    console.log('child process exited with code ' + code); 
});