# YuJudge **Repository Path**: yuzhanglong/YuJudge ## Basic Information - **Project Name**: YuJudge - **Description**: 基于React+TypeScript 的 OnlineJudge(在线判题系统),附完整二次开发文档 - **Primary Language**: TypeScript - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 8 - **Forks**: 1 - **Created**: 2020-09-15 - **Last Updated**: 2025-07-18 ## Categories & Tags **Categories**: acm **Tags**: None ## README
> 提示:Gitee上的版本可能会滞后(主要是我会忘记去同步,O(∩_∩)O),可访问 https://github.com/yuzhanglong/YuJudge 来获取最新版本! ### 快速上手 [点击访问](http://docs.yuzzl.top/) ### 在线DEMO [测试网站](http://oj.yuzzl.top/) [CodeSandbox(可修改代码实时预览)](https://codesandbox.io/s/adoring-blackburn-ru7kr) ### 调试与部署 项目打包基于**webpack**,当前分支已经运行了`yarn eject`,webpack配置需要开发者自行管理。 webpack配置文件位于`config/webpack`目录之下。 yarn脚本文件位于`script`目录之下。 ### 安装 ```shell yarn install ``` ### 安装无法运行可以尝试(node-sass安装的问题) ``` npm install -g mirror-config-china --registry=http://registry.npm.taobao.org yarn install ``` ### 开发环境运行 ```shell yarn start ``` ### 生产环境打包 ```shell yarn build ``` ### 带外链的生产环境打包 打开`package.json`,修改 **buildWithPrefix** ```json {5} "scripts": { "start": "node scripts/start.js", "build": "node scripts/build.js", "test": "node scripts/test.js", "buildWithPrefix": "node scripts/build.js http://cdn.yuzzl.top(你的外链地址)", "upload": "node scripts/upload.js" } ``` 执行 ```shell yarn buildWithPrefix ``` 此时打包出来的所有js、css、图片(public文件夹内的静态文件除外)等依赖,均指向你的**外链地址**而不是`build`文件夹的根目录。 ### 集成七牛存储服务 如果你使用七牛的云存储服务来保存静态文件的话,你可以试试: 打开`script/upload.js`, 找到下面内容,按照注释进行修改 ```javascript // 上传凭证以及配置 const ACCESS_KEY = 'o4fgM7P2lPEyo3已经作废FZ7s_NGdo_xJVNDdKf55apCubX'; const SECRET_KEY = 'YxRkcS8o-GSLMo1已经作废ajWuLjeFxFsMo1WKnOvyrLjB8'; // bucket const options = { scope: "yzlyz已经作废l123", }; // 空间对应的机房 config.zone = uploader.zone.Zone_z2; ``` 带外链打包 ```shell yarn buildWithPrefix ``` 执行上传脚本 ```shell yarn upload ``` 所有css、js等静态文件会被**自动上传至七牛服务器**,你只需要将**index.html**、一些图标文件传上服务器进行托管即可。 ### 版本日志 最新版本 `1.0.0` #### 1.0.0 发布前后端项目至GitHub