如何在NodeJS应用程序的服务器端评估Ruby?

时间:2013-05-27 19:28:17

标签: javascript python ruby node.js heroku

我正在深入研究NodeJS,在Heroku上构建一个应用程序,以帮助我的学生了解几种不同编程语言的各个方面。目前,该应用可以使用the VM module's runInNewContext方法安全地评估Javascript。我也想添加对Ruby或Python的支持。

是否可以在NodeJS应用程序的服务器端安全地评估用其他语言编写的代码,特别是Ruby或Python?

提前感谢您的智慧!

2 个答案:

答案 0 :(得分:2)

前几天我正在玩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。很想知道这是如何工作的!

答案 1 :(得分:1)

您只需要在Heroku上运行multi-buildback,然后在child_process.spawn或exec运行Ruby或Python代码。当然,如果可能的话,你会想要异步这样做。