Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do you run an external program in node.js on windows?

I'm creating an automated web app build process with node.js on windows. I'm trying to run our code through Google closure java program. I read the documentation on child_process in the node documents. It mentions it doesnt work in windows yet. Is there a package or work around for this?

Heres the code im trying to run.

var _exec = require('child_process').exec;
_exec( 'java ' + '-jar '+ COMPILER_JAR +' --js '+ srcPath +' --js_output_file '+ distPath, 
    function(e){
        echo( "google closure done....");
        echo( e );
    } );
like image 514
Joel Avatar asked Jul 26 '12 18:07

Joel


1 Answers

I have a web server app for controlling a queue of builds on windows XP and I used it to run batch files or executables without any additional packages.

I would check the error parameter on the callback and stderr as this may help you find the reason it does not work.

My example solution out of my server which I hope helps:

var theJobType = 'FOO';
var exec = require('child_process').exec;
var child = exec('Test.exe ' + theJobType, function( error, stdout, stderr) 
   {
       if ( error != null ) {
            console.log(stderr);
            // error handling & exit
       }

       // normal 

   });
like image 173
miltonb Avatar answered Nov 10 '22 00:11

miltonb