我正在研究NodeJS,以便在Heroku上构建一个应用程序,以帮助我的学生了解几种不同编程语言的各个方面.目前,该应用可以使用the VM module’s runInNewContext方法安全地评估Javascript.我也想添加对Ruby或Python的支持.
是否可以在NodeJS应用程序的服务器端安全地评估用其他语言(尤其是Ruby或Python)编写的代码?
在此先感谢您的智慧!
解决方法:
前几天我在和nodejs vm玩,这很酷……据我所知,还没有写任何东西可以对Ruby起到同样的作用.您可以使用node.js中的child process函数通过命令行运行ruby:child_process.exec(command,[options],callback).不知道有多少用处,但以防万一,这是:
var childProcess = require("child_process").exec;
childProcess('ruby -e "puts \'Hello World!\'"', function (err, stdout, stderr) {
console.log(stdout);
});
我没有在heroku上尝试过它,但是它在本地工作,我不明白为什么它也不能在python上工作.听到这是怎么回事会很感兴趣!