为缩减篇幅,已略去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前端二次开发简略流程的更多相关文章

  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使用-环境配置

    HBuilder中使用的是Egit插件,但提供的相关资料太少,这是目前遇到的一些问题的总结 1. 安装好egit插件后,本机需要安装Git windows的安装程序,并配置好相关的环境变量(理论上是自 ...

  2. go 使用 c接口

    在使用go语言时, 有时为了方便可以直接调用c语言的接口与库, 不需要重复编写. 那就来说说在go语言里面如何调用c的接口 首先编写好c语言的源文件与头文件,这里举一个简单的例子,实现一个字符串大小写 ...

  3. 从SQL注入到内网漫游

    前言 在一次渗透实战中,发现了一个注入点,最后成功的漫游了内网. 正文 在渗透中遇到一个站点,顺手测试了一下,在搜索框随便输入了一个字符加个单引号直接报错了,差不多可以确认这里存在注入了.一般这种站安 ...

  4. Kali学习笔记44:SQLMAP

    SQLMAP漏洞检测技术: 1.基于布尔的盲注检测:' and 1=1   'and 1=2等 2.基于时间的盲注检测:' and (select * from (select(sleep(20))) ...

  5. [Swift]LeetCode252.会议室 $ Meeting Rooms

    Given an array of meeting time intervals consisting of start and end times [[s1,e1],[s2,e2],...] (si ...

  6. [Swift]LeetCode368. 最大整除子集 | Largest Divisible Subset

    Given a set of distinct positive integers, find the largest subset such that every pair (Si, Sj) of ...

  7. [Swift]LeetCode419. 甲板上的战舰 | Battleships in a Board

    Given an 2D board, count how many battleships are in it. The battleships are represented with 'X's, ...

  8. [Swift]LeetCode457. 环形数组循环 | Circular Array Loop

    You are given an array of positive and negative integers. If a number n at an index is positive, the ...

  9. PostgreSQL基础知识分享

    1.架构 PostgreSQL是一个关系数据库,采用c/s架构.一个PostgreSQL会话包括: 服务端进程——postgres:用于管理数据库文件,并接受来自客户端的数据库连接, 同时代替客户端执 ...

  10. 阿里云服务器公网Ip外网无法访问

    拥有了自己的服务器后,发现需要各种配置,之前应用公司的服务器的时候,一般通过内网访问,或者外网访问时,很多配置其他人员都已经配置好了,但是现在在自己的服务器上发布自己的网站的时候,才发现事情并没有自己 ...