qduoj前端二次开发简略流程
为缩减篇幅,已略去nodejs、git等软件安装操作,若有疑问请搜索相关教程。
为区分win和ubuntu的命令,作如下约定:
$ cd //以$标记win下命令
# cd //以#标记linux命令
环境:win10,qduoj前端github:https://github.com/QingdaoU/OnlineJudgeFE
1、下载源码并解压,或用git拉取源码:
$ git clone https://github.com/QingdaoU/OnlineJudgeFE.git
2、安装依赖:
$ cd .\OnlineJudgeFE\ $ cnpm install
3、按照官方文档继续进行:
$ npm run build:dll
4、打开文件 \OnlineJudgeFE\config\index.js,起始位置加入一行以指定后台数据来源:
process.env.TARGET = ‘http://192.168.78.128/’
也可以直接指向qduoj:
process.env.TARGET = ‘https://qduoj.com/’
5、启动本地测试:
$ npm run dev
效果如图:

前端使用Vue框架编写,官网:https://cn.vuejs.org/
6、修改完成后打包:
$ npm run build
7、让OJ加载修改后的前端文件
在dist文件夹里生成的文件,就是编译后的前端文件。
首先要把修改后的文件传输到ubuntu,我们使用WinSCP,
通过其连接虚拟机:

把dist文件夹直接拖到ubuntu中,比如图中位置/home/zzh:

接着,打开OJ配置文件docker-compose.yml:
# vim docker-compose.yml
在volumes项中新增一行,路径请根据实际情况修改:
…
oj-backend:
image: registry.cn-hangzhou.aliyuncs.com/onlinejudge/oj_backend
container_name: oj-backend
restart: always
depends_on:
– oj-redis
– oj-postgres
– judge-server
volumes:
– $PWD/data/backend:/data
– /home/zzh/dist:/app/dist # 新增此行
environment:
– POSTGRES_DB=onlinejudge
– POSTGRES_USER=onlinejudge
– POSTGRES_PASSWORD=onlinejudge
– JUDGE_SERVER_TOKEN=CHANGE_THIS
# – FORCE_HTTPS=1
# – STATIC_CDN_HOST=cdn.oj.com
ports:
– “0.0.0.0:80:8000”
– “0.0.0.0:443:1443”
更新:
# sudo -E docker-compose up -d
再次访问测试:

我只修改了导航栏标题内容,可以看到确实生效了。
本文至此结束,若有疑问请在评论区讨论~
qduoj前端二次开发简略流程的更多相关文章
- qduoj~前端~二次开发
青岛大学qdu的onlinejudge是js的写的前端,框架是vue.js,在nodejs上部署运行,其实整体运行还是建立在docker的容器虚拟环境里,这里暂时不需要docker.安装环境是Ubun ...
- OnlineJudgeFE之前端二次开发
之前我们在这篇文章青岛大学开源OJ平台搭建 讲了关于它的安装和部署. 今天我们讨论如何对其进行二次开发.首先谈谈前端的二次开发. 如果想要对青岛大学的OJ项目进行二次开发,目前我觉得要满足这么几个要求 ...
- GTS-800二次开发基本流程总结
1.打开控制器 GT_Open 2.启动伺服使能 GT_ClrSts 3.轴规划位置清零 GT_SetPrfPos 4.轴运动模式 GT_PrfTrap 5.轴目标位置 GT_SetPos 6. ...
- 解析大型.NET ERP系统 窗体、查询、报表二次开发
详细介绍Enterprise Solution 二次开发的流程步骤,主要包括数据输入窗体(Entry Form),查询(Query/Enquiry),报表(Report)三个重要的二次开发项目. 数据 ...
- ccflow表机构与运行机制(二次开发必看)
驰骋工作流引擎,工作流程管理系统,表结构与运行机制. ------------------------------------------------------- 前言: 1, ccflow 有自动 ...
- 基于VB语言对SolidWorks参数化设计的二次开发
0 引言 随着数字信息化进程的快速推进,如今三维CAD技术在越来越多的企业当中得到运用.为了降低在设计生产中的成本,缩短设计周期,增强企业竞争力,三维参数化技术随之应声,它凭借更贴近现代概念的设计以及 ...
- OMCS开发手册(04) -- 二次开发流程
在掌握了前面几篇关于OMCS的详细介绍后,我们就可以正式基于OMCS进行二次开发了.下面我们就从服务端和客户端的角度分别介绍开发的步骤. 一.服务端开发 抛开具体的业务逻辑而言,就OMCS的服务端的开 ...
- C#开发BIMFACE系列2 二次开发流程
系列目录 [已更新最新开发文章,点击查看详细] BIMFACE 平台是一个对外开放的平台,建筑行业的相关公司.软件公司或者有 BIM 业务需求的公司都可以注册成为开发者并使用其提供的强大功能. ...
- Ecshop系统二次开发教程及流程演示
来源:互联网 作者:佚名 时间:03-01 16:05:31 [大 中 小] Ecshop想必大家不会觉得陌生吧,大部分的B2C独立网店系统都用的是Ecshop系统,很受用户的喜爱,但是由于Ecs ...
随机推荐
- 格式化数据保留两位小数,输入格式为 :xxx,xx,,,,x,,(x为浮点数)
/** * 格式化字符串 */ static String dataFormat(String data){ String formatedData = ""; // 浮点数正则表 ...
- Java提高篇(一):区分引用变量与对象
我们有代码: New A=new New(); 下面是这个New的类: class New { public New() { System.out.println("这是New类当中的构造方 ...
- [Swift]LeetCode767. 重构字符串 | Reorganize String
Given a string S, check if the letters can be rearranged so that two characters that are adjacent to ...
- [Swift]LeetCode877. 石子游戏 | Stone Game
Alex and Lee play a game with piles of stones. There are an even number of piles arranged in a row, ...
- JavaScript02-js使用
JS的用法有两种: 第一种是在html页面通过引入外部js文件,第二种是直接将js代码写在html中.小例如下: 第一种 <script type="text/javascript&q ...
- APK安装成功后点击"打开",按Home键,在桌面点击图标后应用重启
转载:http://blog.csdn.net/kepoon/article/details/7468688 问题: 安装系统SD卡里面的apk或者原有的程序更新版本的时候,会遇到升级安装成功之后的一 ...
- 学习springboot
一般而言,写个Javaweb应用搭建环境都可能要几十分钟,下载个tomcat服务器,再加上各种xml配置等等,很烦躁,而且每个web应用的配置还差不多,都是什么web.xml,application. ...
- Spring Cloud学习笔记-012
分布式服务跟踪:Spring Cloud Sleuth 随着业务的发展,系统规模也会变得越来越大,各微服务间的调用关系也变得越来越错综复杂.通常一个由客户端发起的请求在后端系统中会经过多个不同的微服务 ...
- leetcode — convert-sorted-array-to-binary-search-tree
import java.util.ArrayList; import java.util.Arrays; import java.util.List; /** * * Source : https:/ ...
- Android单个控件占父控件宽度一半且水平居中
前些天,在工作中遇到了一个需求:一个“加载上一页”的按钮宽度为父控件宽度一半,且水平居中于父控件中. 在此给出两种思路: 1.直接在Activity代码中获取到当前父控件的宽度,并将此按钮宽度值设置成 ...