Skip to content

ice-a/remote_run_js_code

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Remote JavaScript Code Runner

这是一个用于远程执行JavaScript代码的后端服务。

功能特点

  • 远程执行JavaScript代码
  • 安全的代码执行环境(使用vm2)
  • RESTful API接口
  • 支持文件上传

安装步骤

  1. 克隆项目:

    git clone [repository-url]
    cd remote_run_js_code
  2. 安装依赖:

    npm install

使用方法

开发环境

npm run dev

生产环境

npm start

Docker部署

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依赖)

API接口

1. 上传文件执行

  • 端点:POST /execute
  • 参数:文件上传,字段名为file
  • 返回:{"result": 执行结果}{"error": "错误信息"}

2. 直接执行代码

  • 端点:POST /execute-code
  • 参数:JSON格式 {"code": "JavaScript代码字符串"}
  • 返回:{"result": 执行结果}{"error": "错误信息"}

Python调用示例

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
  • 生产环境部署时注意配置安全策略
  • 建议设置代码执行超时限制

About

通过接口调用js文件

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published