在线编译器usng Node.js和Express

在线编译器usng Node.js和Express,node.js,express,Node.js,Express,我希望你不要因为这个问题而生气。 我是Node.js和express的相对初学者。 我想创建一个在线评判系统。就是这样,;一个人提交一个代码(C,C++或Python代码),然后编译并在后端运行,输出显示为响应。 现在在你说话之前,请多听一点。我尝试了child_process exec和compilex和compile run等npm模块。这些在我的PC中工作正常。但是,当我在Heroku这样的平台上主持这个项目时,问题就出现了。代码没有被编译(它不应该被编译,因为为什么Heroku会有一个g

我希望你不要因为这个问题而生气。 我是Node.js和express的相对初学者。 我想创建一个在线评判系统。就是这样,;一个人提交一个代码(C,C++或Python代码),然后编译并在后端运行,输出显示为响应。 现在在你说话之前,请多听一点。我尝试了child_process exec和compilex和compile run等npm模块。这些在我的PC中工作正常。但是,当我在Heroku这样的平台上主持这个项目时,问题就出现了。代码没有被编译(它不应该被编译,因为为什么Heroku会有一个gcc/g++编译器?)。所以我的问题是,我如何使用Node.js创建一个应用程序(用户在其中提交代码并接收作为响应的输出),并在heroku中成功启动它并使其工作

请指出我可能遗漏的任何错误或东西


我希望你有问题。我非常感谢您的帮助。

我没有Heroku的经验,但您似乎需要直接部署代码才能运行它。但您可以尝试使用Dockerfile提供服务的服务器和服务(如aws fargate或…idk)。您可以用应用程序需要的任何东西构建docker容器并进行部署。好的方面是,您可以在本地使用它,并查看它的行为。我觉得,如果您想使用节点执行类似操作,“child_process”可能是唯一的选项,但您需要首先安装依赖项。要将它与主机隔离,我猜您可以在docker容器中运行它,并将日志发送给用户,或者自己使用它做一些事情。@EricAska您好!您直接部署了什么来运行?我在heroku上启动它的步骤,不是部署步骤吗?很抱歉我迷路了,你能再解释一下吗?谢谢,我从未使用过Heroku,但教程视频显示它直接读取代码并为您运行。这是一项非常容易使用的服务,但同时也受到限制。您可能无法访问服务器来安装其他软件包(编译c++)。我觉得你可以像你在child_过程中所说的那样做到这一点,但你需要首先创造一个环境,使之成为可能。正如您所说的“这是不应该的,因为为什么Heroku会有一个gcc/g++编译器?”您需要一个运行您的代码并安装了gcc/g++编译器的服务器。我能想到的最简单的方法是将您的应用程序归档。但是,如果你不知道如何使用docker,这将是一个有点困难的开始。docker就像一个小的ubuntu包,你可以选择安装什么以及如何运行你的服务器,然后当你构建它时,它会给你一个“docker镜像”,可以通过命令“docker run”部署到不同的服务中,或者你可以在本地部署它进行测试。