2016-08-02 39 views
0

実行中のアプリケーションとは異なる場所にあるファイルtest.jsを実行する必要があります。私は休閑コードnodejs内の別の場所でファイルを実行する方法

var execFile = require("child_process").execFile; 
exports.sync = function(req, res) { 
    console.log("sync called"); 
    var child = execFile("C:/Users/rhush/Desktop/test", function(error, stdout, stderr) { 
     if (error) { 
      throw error; 
     } 
     console.log(stdout); 
     res.send({ status: stdout }); 
    }); 
}; 

を試してみましたが、私のテストファイルがここにあることを実行します。

function testing() { 
    console.log('sync job running'); 
} 
testing(); 

しかし、私はどんな間違いをしていた場合に修正してくださいエラーにenter image description here

を得ました。あなたはこの1つを使用して、ファイル名を指定してノードのコマンドを渡す必要がEXECFILEを使用してJSファイルを実行するには

+0

rhush/Desktop/test "' 'C:/Users/rhush/Desktop/test.js" 'にしてください。 –

+0

いいえ、それは私にとってはうまくいきません。 – Rhushikesh

+0

また、ファイル名を指定するだけでは不十分です。ファイルが実行可能でないため、何もしません。そのファイルの実行方法によっては、 'node'バイナリで実行しようとしている場合、' node C:/ Users/rhush/Desktop/test.js'のようになります –

答えて

0

:/ユーザ/:あなたはtest.js`パス `" Cべき `実行されているが与えられ

var execFile = require("child_process").execFile; 
exports.sync = function(req, res) { 
    console.log("sync called"); 

    var child = execFile("node", ["C:/Users/rhush/Desktop/test.js"], function(error, stdout, stderr) { 
     if (error) { 
      throw error; 
     } 
     res.send({ status: stdout }); 
    }); 
}; 
+0

私はあなたが使うとは思わないテストを実行するノード。私は例を引用していました。人々は通常mochaまたはjesmineでそれを行います –

+0

@SamuelTohこれはexecFileノードchild_processの単なる例です。 TDDコードはありません。 –

関連する問題