从2019年起,K12在线教育,就是个热词。

今年疫情影响了大部分企业,但却是在线教育平台发展的契机。

不少高校改为线上授课,许多高校计算机学院的上机实验也借助了线上教育平台提供的环境。

比如,在线编程教育网站“实验楼”就在年初接到了国内部分高校的计算机开课请求,让学校们可以使用实验楼的在线环境进行教学工作。

而“实验楼”这样的在线编程教育网站是如何搭建的呢?

在今天给大家分享的在线教育平台搭建教程里,我们就以“实验楼”为例,用 Vue.js 和 Django搭建一个简易的实验楼。

建议大家可以在浏览教程的时候,打开“实验楼”官网,

使用平台搭建好的Linux在线环境,边敲代码边学习,效率更高。


教程节选:

(以下是教程 第一节 内容,想访问全部内容,点击“Vue.js 和 Django 仿简易版实验楼”查看全部内容。)

本节实验主要介绍 Vue CLI 的使用。学会使用 Vue CLI 创建 Vue 项目,了解 Vue 项目结构,对跨域有个简单了解,同时搭建 Vue 前端开发环境和 Django 后端开发环境,最终配置 Vue 开发环境跨域。

知识点

  • Vue-cli 简介
  • Vue-cli 创建基础项目
  • 使用 Django 搭建 API 转发
  • 跨域简述
  • Vue 开发环境跨域配置
  • 项目结构

项目总体概览

此项目所需的知识点是 HTML+CSS+JS。如果你此前没有这方面的知识,在跟随实验进行的前期可能会受到一些阻碍,不过好消息是,一旦你完成了实验,就会对 HTML+CSS+JS 有一个较为全面的认识,同时为了有成就性的进行开发,我们直接使用实验楼的后端 API,进行真实数据交互体验。

节奏基调

项目一开始不会安装及配置过多的内容,随着实验的深入会逐一将所需的内容安装,项目选用 Vue 作为前端框架,同时没有选用 CSS 框架,这样可以同时实践 HTML+CSS+JS。

Vue-cli简介

Vue-cli 是用来帮我们快速创建 Vue 开发的工具,提供可视化的项目配置、安装插件、同时提供开发服务。

当前阶段下我们只需要知道怎么用它来创建一个 Vue 并跑起来就好了。

Vue-cli 创建项目

安装 Vue-cli,这个过程可能有点儿慢,请耐心等待:

npm install -g @vue/cli

安装之前首先需要安装 Node.js,实验环境中已经安装好了。

接下来我们用 @vue/cli 创建一个名为 vue-shiyanlou 的项目:

vue create vue-shiyanlou

它会提示你选择 preset,这里按 Enter 键选择默认的就好。babel 是一个转码器,我们暂且不需要管它。eslint 是一个代码检查工具,它可以提示我们哪里代码写的不符合规范。

包管理方面使用 yarn 还是 npm 都不会对本实验有所影响。

最后看到:

就是创建成功了。使用命令把项目先跑起来:

cd vue-shiyanlou
npm run serve

实验楼的环境下还不能直接查看效果,我们先来把后端转发也搭起来最后再一次性配置。

使用 Django 搭建 API 转发

出于安全性考虑,我们是不能直接使用实验楼的 API,所以需要一个转发。

Python 的使用不在本实验范围内,所以这里只需要安装运行即可。

点击左上角 Terminal -> New Terminal 开启一个新的终端,安装 Python Django 环境,实验环境中已经安装,这里就不需要再重复操作:

sudo pip3 install django
sudo pip3 install django-cors-headers
sudo pip3 install requests

下载转发 API:

wget https://labfile.oss.aliyuncs.com/courses/1547/vue-shiyanlou-backend.zip
unzip vue-shiyanlou-backend.zip

启动后端:

cd vue-shiyanlou-backend
python3 manager.py runserver

已经运行起来啦,你可能还不知道有哪些 API,如何去获取它们。

不用着急,下节实验会一起探索如何去分析得到的这些 API。

跨域简述

上节中我们说到实验楼的 API 不能直接使用,这是因为浏览器出于安全性的考虑默认对一些没有配置跨域链接的限制。

要打破这一限制通常需要后端配合,我们自然无法去修改实验楼的服务器,所以只能通过一个中转来跨过浏览器这道坎。

Vue 开发环境跨域配置

Vue 开发环境下我们还需要做些配置来达到跨域,同时还要让项目在实验楼中跑起来才行。

首先在 vue-shiyanlou 目录下创建一个 vue.config.js 文件,大部分配置都可以在里面完成:

module.exports = {// 还记得我们安装的 eslint 吗,它可以用来规范代码,// 如果你不想要它的规范,可以配置这个把它关掉chainWebpack: config => {config.module.rules.delete("eslint");},devServer: {// 这个保证可以在实验楼环境下跑起代码disableHostCheck: true,// 开发环境下的跨域配置,现在你可能还不知道有什么用,// 当前你只需要知道, target 需要与我们搭建的转发域名相同即可。proxy: {"/api": {target: "http://localhost:8000/api", //设置你调用的接口域名changeOrigin: true,pathRewrite: {"^/api/": ""}}}}
};

不要忘记保存呀。

项目结构与总结

之后的一段时间内你都将与 Vue 打交道,熟悉一下 Vue 基本项目结构是有必要的:

  • public/index.html:Vue 是一个单页面应用,这是它最终会呈现的页面,一些 CSS 引入,设置 meta 信息等都可以在这里面进行。
  • src:这个目录下存放 Vue 相关的组件,很长一段时间你都会在这个目录下进行开发。
  • src/main.js:它是 Vue 的第一个魅力所在,没有它就没有整个 Vue 页面。
  • src/App.vue:是页面入口文件,通常不会放置太多东西。

你已经完全搭建起了 Vue 和 Python 环境,如果还没看到 Vue 的欢迎界面,马上点 web 服务 去看一下吧。

本节实验结束后推荐“保存实验环境”,后面的实验都会在本实验基础环境中进行。


之后的内容还有“使用 Chrome 分析实验楼 API” “编写实验楼首页”等等。

想访问全部内容,可点击“Vue.js 和 Django 仿简易版实验楼”查看。

手把手教你搭建在线教育平台相关推荐

  1. 如何搭建在线教育平台

    在互联网时代,教育模式日新月异.今年在受到疫情的冲击下,学校和教培机构开展线下教学困难,一些教育机构不得不从线下转型到线上,在线教育迎来了激烈的争夺战.由此可见对于学校和教培机构来说,搭建一个好的在线 ...

  2. vue+node.js手把手教你搭建一个直播平台(一)

    上一期,帅气的小羽给老铁们简单介绍了项目的功能以及需要用到的一些环境和工具,现在就让我们荡起双桨,撸起袖子,准备开始敲代码啦!!! 先甩锅,小羽主要是搞前端开发的,所以这期张主要讲后端内容,可能讲的不 ...

  3. 手把手教你搭建数据库服务器平台 | DBA VS 自动化运维,究竟谁与争锋?

    现代化的程度越高,对数据库的依赖性越大.数据安全性和系统的安全性也就越大,比如公司业务系统.数据库是直接的存储地方,宕机带来的损失可能是按分钟或者秒算的.而谁对这些数据库负责--DBA.所以很多公司, ...

  4. 手把手教你搭建OpenStack云平台(超级详细)

    一.前言 OpenStack云平台搭建需要两个节点,一个是controller(控制节点),另一个是compute(计算节点). 控制节点(controller)规划如下: 一块200G的硬盘.两块网 ...

  5. axios下载图片 node_vue+node.js手把手教你搭建一个直播平台(二)

    上一期,帅气的小羽给老铁们介绍了直播平台的项目的后端搭建,这期就让小羽带大家来搭建一下前端的框架. 1.创建前端工程 毫无疑问,搭建一个项目的框架,那第一步肯定是得创建一个工程啦.cmd命令,输入vu ...

  6. vue+node.js手把手教你搭建一个直播平台(二)

    上一期,帅气的小羽给老铁们介绍了直播平台的项目的后端搭建,这期就让小羽带大家来搭建一下前端的框架. 1.创建前端工程 毫无疑问,搭建一个项目的框架,那第一步肯定是得创建一个工程啦.cmd命令,输入vu ...

  7. vue 前端显示图片加token_vue+node.js手把手教你搭建一个直播平台(二)

    上一期,帅气的小羽给老铁们介绍了直播平台的项目的后端搭建,这期就让小羽带大家来搭建一下前端的框架. 1.创建前端工程 毫无疑问,搭建一个项目的框架,那第一步肯定是得创建一个工程啦.cmd命令,输入vu ...

  8. vue+node.js手把手教你搭建一个直播平台(三)

    上一期,帅气的小羽给老铁们介绍了直播平台的项目的前端框架的搭建,这期就让小羽带大家切图,没错啦,就是老铁们心心念念的切图啦. 补充上期遗漏的内容 但是在正式开启这期内容前,先补充点上期的内容 配置全局 ...

  9. 腾讯技术直播间 | 轻量产品思维!手把手教你搭建在线甲醛监测系统

    扔掉小瓶盖,腾讯云带你体验在线甲醛监测系统!ecky,公众号:腾讯技术工程基于"树莓派+腾讯云"的在线甲醛监测系统 还记得我们7月初推送的这篇有趣又实用的文章吗? 常见的甲醛监测往 ...

最新文章

  1. 《Cacti实战》——第1章 认识Cacti
  2. 软件测试可分为哪几种
  3. 阿里云服务器 宝塔面板 配置Python项目
  4. linux下挂载ntfs(windows)文件系统
  5. Oracle数据隐式乱码,正则匹配中文数据失败
  6. go 链路追踪_Go技术日报(20200911)
  7. UIView方法,属性的集合
  8. 运维是否有前(钱)途?
  9. linux unix域socket_计算机通信之谜,带你彻底理解socket网络编程(一)
  10. 【微信支付】springboot 微信app支付包括回调通知
  11. Nginx网页优化(隐藏版本号,日志分割,更改进程数,网页压缩,防盗链详
  12. BAT大牛分享如何在最短的时间升职为阿里Java架构师
  13. Java 中ArrayList中的重复数据
  14. Sallen-Key 有源滤波器(1)
  15. Excel转储mysql_小程序解析excel表格并存储到云数据库
  16. 美国计算机科学排名2010,2010年美国大学计算机科学专业研究生排名
  17. 一张图读懂PBN飞越转弯衔接DF航段计算
  18. UBNT RdgeRouter-X ipv6相关设置
  19. chrome被2345劫持主页
  20. 为什么炒期货风险高(炒期货比炒股风险更高吗)

热门文章

  1. 按下开机键后,电脑都干了些什么?
  2. 2022年自考专业考试(英语)英语词汇学练习题
  3. 华中科技大学计算机就业质量报告,2018年毕业生就业质量报告,复旦大学和华中科大的数据对比...
  4. 如何在AutoCAD中将卫星底图变为有坐标参考信息的
  5. FZU - 2243 - Daxia like uber (单源最短路)
  6. 开源demo | 快速搭建在线自习室场景
  7. 使用winhex查看SD卡文件的物理扇区地址
  8. deny of sb sth_deny_deny的意思和用法搭配
  9. upic上传GitHub图床失败解决
  10. Windows任务栏