为缩减篇幅,已略去nodejs、git等软件安装操作,若有疑问请搜索相关教程。

为区分win和ubuntu的命令,作如下约定:

  1. $ cd //以$标记win下命令
  2. # cd //以#标记linux命令

环境:win10,qduoj前端github:https://github.com/QingdaoU/OnlineJudgeFE

1、下载源码并解压,或用git拉取源码:

  1. $ git clone https://github.com/QingdaoU/OnlineJudgeFE.git

2、安装依赖:

  1. $ cd .\OnlineJudgeFE\
  2.  
  3. $ cnpm install

3、按照官方文档继续进行:

  1. $ npm run build:dll

4、打开文件 \OnlineJudgeFE\config\index.js,起始位置加入一行以指定后台数据来源:

  1. process.env.TARGET = http://192.168.78.128/’

也可以直接指向qduoj:

  1. process.env.TARGET = https://qduoj.com/’

5、启动本地测试:

  1. $ npm run dev

效果如图:

前端使用Vue框架编写,官网:https://cn.vuejs.org/

6、修改完成后打包:

  1. $ npm run build

7、让OJ加载修改后的前端文件

在dist文件夹里生成的文件,就是编译后的前端文件。

首先要把修改后的文件传输到ubuntu,我们使用WinSCP

通过其连接虚拟机:

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

接着,打开OJ配置文件docker-compose.yml:

  1. # vim docker-compose.yml

在volumes项中新增一行,路径请根据实际情况修改:


  1. oj-backend:
  2. image: registry.cn-hangzhou.aliyuncs.com/onlinejudge/oj_backend
  3. container_name: oj-backend
  4. restart: always
  5. depends_on:
  6. oj-redis
  7. oj-postgres
  8. judge-server
  9. volumes:
  10. $PWD/data/backend:/data
  11. /home/zzh/dist:/app/dist # 新增此行
  12. environment:
  13. POSTGRES_DB=onlinejudge
  14. POSTGRES_USER=onlinejudge
  15. POSTGRES_PASSWORD=onlinejudge
  16. JUDGE_SERVER_TOKEN=CHANGE_THIS
  17. # – FORCE_HTTPS=1
  18. # – STATIC_CDN_HOST=cdn.oj.com
  19. ports:
  20. 0.0.0.0:80:8000
  21. 0.0.0.0:443:1443

更新:

  1. # sudo -E docker-compose up -d

再次访问测试:

我只修改了导航栏标题内容,可以看到确实生效了。

本文至此结束,若有疑问请在评论区讨论~

qduoj前端二次开发简略流程的更多相关文章

  1. qduoj~前端~二次开发

    青岛大学qdu的onlinejudge是js的写的前端,框架是vue.js,在nodejs上部署运行,其实整体运行还是建立在docker的容器虚拟环境里,这里暂时不需要docker.安装环境是Ubun ...

  2. OnlineJudgeFE之前端二次开发

    之前我们在这篇文章青岛大学开源OJ平台搭建 讲了关于它的安装和部署. 今天我们讨论如何对其进行二次开发.首先谈谈前端的二次开发. 如果想要对青岛大学的OJ项目进行二次开发,目前我觉得要满足这么几个要求 ...

  3. GTS-800二次开发基本流程总结

    1.打开控制器 GT_Open 2.启动伺服使能    GT_ClrSts 3.轴规划位置清零 GT_SetPrfPos 4.轴运动模式 GT_PrfTrap 5.轴目标位置 GT_SetPos 6. ...

  4. 解析大型.NET ERP系统 窗体、查询、报表二次开发

    详细介绍Enterprise Solution 二次开发的流程步骤,主要包括数据输入窗体(Entry Form),查询(Query/Enquiry),报表(Report)三个重要的二次开发项目. 数据 ...

  5. ccflow表机构与运行机制(二次开发必看)

    驰骋工作流引擎,工作流程管理系统,表结构与运行机制. ------------------------------------------------------- 前言: 1, ccflow 有自动 ...

  6. 基于VB语言对SolidWorks参数化设计的二次开发

    0 引言 随着数字信息化进程的快速推进,如今三维CAD技术在越来越多的企业当中得到运用.为了降低在设计生产中的成本,缩短设计周期,增强企业竞争力,三维参数化技术随之应声,它凭借更贴近现代概念的设计以及 ...

  7. OMCS开发手册(04) -- 二次开发流程

    在掌握了前面几篇关于OMCS的详细介绍后,我们就可以正式基于OMCS进行二次开发了.下面我们就从服务端和客户端的角度分别介绍开发的步骤. 一.服务端开发 抛开具体的业务逻辑而言,就OMCS的服务端的开 ...

  8. C#开发BIMFACE系列2 二次开发流程

    系列目录     [已更新最新开发文章,点击查看详细] BIMFACE 平台是一个对外开放的平台,建筑行业的相关公司.软件公司或者有 BIM 业务需求的公司都可以注册成为开发者并使用其提供的强大功能. ...

  9. Ecshop系统二次开发教程及流程演示

      来源:互联网 作者:佚名 时间:03-01 16:05:31 [大 中 小] Ecshop想必大家不会觉得陌生吧,大部分的B2C独立网店系统都用的是Ecshop系统,很受用户的喜爱,但是由于Ecs ...

随机推荐

  1. HBuilder git合作-从Git Hub Clone项目

    1.Clone项目 打开”Git Respository"视图,选“Clone a Git Respository" 2.为了能正确pull项目,所有队员都必须做以下配置(其始只是 ...

  2. Spring Boot 实现 RabbitMQ 延迟消费和延迟重试队列

    本文主要摘录自:详细介绍Spring Boot + RabbitMQ实现延迟队列 并增加了自己的一些理解,记录下来,以便日后查阅. 项目源码: spring-boot-rabbitmq-delay-q ...

  3. Tomcat线程池配置

    简介  线程池作为提高程序处理数据能力的一种方案,应用非常广泛.大量的服务器都或多或少的使用到了线程池技术,不管是用Java还是C++实现,线程池都有如下的特点:线程池一般有三个重要参数: 最大线程数 ...

  4. [Swift]LeetCode142. 环形链表 II | Linked List Cycle II

    Given a linked list, return the node where the cycle begins. If there is no cycle, return null. Note ...

  5. [Swift]LeetCode501. 二叉搜索树中的众数 | Find Mode in Binary Search Tree

    Given a binary search tree (BST) with duplicates, find all the mode(s) (the most frequently occurred ...

  6. [Swift]LeetCode1028. 从先序遍历还原二叉树 | Recover a Tree From Preorder Traversal

    We run a preorder depth first search on the root of a binary tree. At each node in this traversal, w ...

  7. Kubernetes---Pod的扩容和缩容

    用RC的Scale机制来实现Pod的扩容和缩容 把redis-slave的pod扩展到3个  ,  kubectl scale rc redis-slave --replicas=3 现在来缩容,把 ...

  8. iOS崩溃日志ips文件解析

    iOS崩溃日志ips文件解析  一 简介 测试组的同事在进行稳定性测试时,通常会遇到一些崩溃,然后他们会将这些崩溃日志(一般是ips格式的文件)反馈给开发进行分析,但是这些ips文件中的内容通常是如下 ...

  9. 12.Flask-Restful

    定义Restful的视图 安装:pip install flask-restful 如果使用Flask-restful,那么定义视图函数的时候,就要继承flask_restful.Resourse类, ...

  10. Django+Bootstrap+Mysql 搭建个人博客(二)

    2.1.博客首页设计 (1)settings.py MEDIA_ROOT = os.path.join(BASE_DIR,'media').replace("//","/ ...