Runcode
在线代码运行编辑器,支持C、C++、Go、Nodejs、Rust、Java、Python
在线运行代码编辑器
语言支持度
代码格式化支持
前置条件
nodejs > 14.17.0
包管理工具 pnpm 安装
npm install pnpm -g
koa + typescript + dockerode
前置条件, 安装了 docker
未构建的镜像, 在编辑器里 run 代码时会报镜像 404, 所以开发过程中无需全部构建, 构建需要的语言环境即可
构建 C++ 镜像
cd server/src/docker/cpp
docker build -t cpp:11 .
构建 rust 镜像
cd server/src/docker/rust
docker build -t rust:lts .
构建 python3 镜像
cd server/src/docker/python3
docker build -t python:3 .
构建 go 镜像
cd server/src/docker/go
docker build -t go:lts .
构建 nodejs 镜像
cd server/src/docker/nodejs
docker build -t nodejs:lts .
构建 java 镜像
cd server/src/docker/java
docker build -t java:lts .
构建 php 镜像
cd server/src/docker/php
docker build -t php:8 .
安装依赖
cd server
pnpm i
启动
pnpm dev
vite + react + typescript
UI
daisyui 风格简约, 项目侵入性小, 样式复写方便
tailwindcss, 原子化 css, 在个人项目里使用优势很大, 节省时间、代码
且都支持按需引入, 体积更小
状态管理
mobx、mobx-react-lite、mobx-persist-store
编辑器使用 monaco-editor
高亮、输入提示、部分语言代码格式化、多主题
引入 clang-format wasm 模块实现 C/C++/Java 语言的代码格式化
安装依赖
cd client
pnpm i
编译 tailwindcss
# 启动后另开终端启动服务
pnpm build:tailwind:watch
启动服务
# 起开发环境,需要起 server
pnpm dev
# 起生产环境
pnpm prod