2013-02-23 81 views
15

मैंने ग्रंट का उपयोग करके एक प्रक्रिया तैयार की है, लेकिन आउटपुट स्ट्रीम (जैसे console.log) को लिखे गए कुछ भी कंसोल में प्रदर्शित नहीं किया जा रहा है।Grunt spawned प्रक्रिया आउटपुट को कैप्चर नहीं कर रहा

मैं ग्रंट को प्रक्रिया से किसी भी आउटपुट को प्रदर्शित करना चाहता हूं।

grunt.util.spawn(
    { cmd: 'node' 
    , args: ['app.js'] 
    , opts: 
     { stdio: 
      [ process.stdin 
      , process.stout 
      , process.stderr 
      ] 
     } 
    }) 

उत्तर

33

इसे opts: {stdio: 'inherit'} पर सेट करने का प्रयास करें। नहीं तो आप कर सकते हैं पाइप उत्पादन:

var child = grunt.util.spawn({ 
    cmd: process.argv[0], // <- A better way to find the node binary 
    args: ['app.js'] 
}); 
child.stdout.pipe(process.stdout); 
child.stderr.pipe(process.stderr); 

या आप उत्पादन को संशोधित करना चाहते हैं:

child.stdout.on('data', function(buf) { 
    console.log(String(buf)); 
}); 
+1

'stdio: 'inherit'' करता है चाल, और धन्यवाद नोड द्विआधारी पाने की टिप के लिए ! –