1.作ったきっかけ
ある時、node.jsでnode.jsを実行するプログラムを作ろうと思った。そして調べてみてevalというものがあったがセキュリティーがダメだったから。前にnode.jsでpythonを実行するプログラムを作ったのでそれを改造して作った。
2.プログラム
const {exec} = require("child_process"); //child processモジュールをインポート
const fs = require("fs"); //fsモジュールをインポート
exports.run_nodejs = function(code,_function_ = function(output){ //run_nodejsという関数をモジュール化。また実行終了時に呼び出される既定の関数を定義
return output //出力を戻り値とする
}){
fs.writeFileSync("./node.js",code) //code.pyというファイルにコードを書く
exec("node node.js",(err,stdout,stderr) => { //node node.jsを実行
_function_(stdout + stderr) //実行終了時に呼び出される関数に出力を引数を入れる
})
}
3.使い方
使用例
var python = require("プログラムをインストールしたアドレスを入力してください") //プログラムをインポート
python.runpython("console.log('hello')\nconsole.log('world')");
//console.log('hello')
//console.log('world')を実行
//出力結果
//hello
//world
コメント