Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

ice-a/remote_run_js_code

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

AltStyle によって変換されたページ (->オリジナル) /