基于 React 的在线评测系统 NEUQ-OJ 前端设计与实现

NEUQ 在线评测系统 (NEUQ Online Judge, NEUQ-OJ) 为高校编程学习和竞赛提供高性能、可扩展的在线评测平台。重点介绍 NEUQ-OJ 前端部分的设计与实现,该部分基于 React 技术栈构建,实现了用户友好的界面和流畅的操作体验。

技术栈选择:

* UI 框架:React & React-Dom,提供组件化开发和高效的 DOM 操作。

* 路由管理:React Router,实现单页面应用的路由控制和导航。

* 状态管理:React-Redux,集中管理应用状态,便于组件间数据共享和更新。

* JavaScript 语法:ES6 (部分支持 ES7),提升代码可读性和开发效率。

* 样式处理:Less / CSS,实现灵活、可维护的样式设计。

* 网络请求:Fetch API,进行异步网络请求,获取和提交数据。

构建工具链:

* Webpack2:模块打包工具,优化代码结构,提高加载性能。

* Babel:JavaScript 语法转换器,确保代码兼容性。

* npm:包管理工具,方便依赖管理和版本控制。

Webpack2 插件:

* extract-text-webpack-plugin:提取 CSS 文件,便于独立加载和缓存。

* autoprefixer:自动添加浏览器前缀,提高样式兼容性。

* html-webpack-plugin:自动生成 HTML 文件,简化部署流程。

* clean-webpack-plugin:打包前清除旧文件,避免文件冲突。

folder
NEUQ-OJ:基于React开发的在线评审系统 预估大小:217个文件
file
.gitignore 111B
file
.babelrc 198B
file
index.js 7KB
file
index.js 16KB
file
index.js 7KB
file
index.js 10KB
file
index.js 6KB
file
index.js 7KB
file
index.js 8KB
file
index.js 8KB
file
example.cpp 128B
file
index.js 10KB
file
problem.action.js 7KB
file
group.action.js 9KB
file
user.action.js 6KB
file
index.html 2KB
file
favicon.ico 9KB
file
.eslintrc 195B
file
template.ejs 2KB
file
.travis.enc 1KB
zip 文件大小:285.11KB