这是一个用于远程执行JavaScript代码的后端服务。
- 远程执行JavaScript代码
- 安全的代码执行环境(使用vm2)
- RESTful API接口
- 支持文件上传
-
克隆项目:
git clone [repository-url] cd remote_run_js_code
-
安装依赖:
npm install
npm run dev
npm start
docker build -t remote-js-runner .
docker run -p 3000:3000 remote-js-runner
├── server.js # 主服务器文件
├── public/ # 静态文件
├── uploads/ # 上传文件目录
└── package.json # 项目配置文件
- express: Web服务器框架
- multer: 文件上传中间件
- vm2: 安全的代码执行环境
- nodemon: 开发环境自动重启(dev依赖)
- 端点:
POST /execute
- 参数:文件上传,字段名为
file
- 返回:
{"result": 执行结果}
或{"error": "错误信息"}
- 端点:
POST /execute-code
- 参数:JSON格式
{"code": "JavaScript代码字符串"}
- 返回:
{"result": 执行结果}
或{"error": "错误信息"}
在examples/python_client.py
中提供了完整的Python调用示例代码,包括:
- 通过代码字符串执行JavaScript
- 通过文件上传执行JavaScript
使用前请确保安装了requests库:
pip install requests
以下是一个简单的测试代码示例:
// 筛选数组中的元素
function solution(arr) {
let answer = []
let min = 1;
return answer = arr.filter((v) => v !== min);
}
solution([4,9,2,22])
- 确保Node.js版本 >= 18.0.0
- 生产环境部署时注意配置安全策略
- 建议设置代码执行超时限制