React16.6和Typescript高仿B站Web移动端

前言

本项目是一个高仿B站移动端项目,基于我之前搭建过的SSR服务端渲染模板开发,开发的初衷是想使用此模板进行实战,实战后才能说明模板的可靠性。前端大部分都是页面展示,基本上没什么可仿的,看多了就会觉得腻,就选了B站,核心功能在于视频播放和弹幕,主要用于学习和交流,还请B站团队海涵。数据来源于B站,我写了一个后端服务做接口代理,源码和预览地址在最后,接口部分不开源

服务端渲染相关链接: 1.项目搭建 2.前后端路由同构 3.代码分割和数据预取

技术点

  • react
  • react-router-dom
  • react-router-config
  • redux(数据管理)
  • redux-thunk(支持异步Action)
  • react-helmet(Head管理)
  • react-lazyload(图片懒加载)
  • loadable-components(代码分割)
  • cross-fetch(浏览器和node通用的Fetch API)
  • express(后端服务)

实现功能

  • 首页
  • 分类页
  • 排行榜
  • 搜索
  • 视频详情页
    1.视频播放
    2.弹幕
    3.推荐列表
    4.评论列表
  • UP主页
    1.详情
    2.投稿列表
  • 个人中心
    历史记录

说明

目录结构

React

本项目使用了React16.3新加入的Context APIcreateRef API和以下两个新的生命周期

另外在16.6版本中加入了contextType

接口

接口做了跨域限制,只允许源http://localhost:3010访问

图片和视频

图片使用了接口做代理,请求图片流然后返回,图片接口验证了请求头,http://localhost:3010域下的页面均可访问。 视频和图片一样验证了请求头,http://localhost:3010域下的页面均可访问,视频采用了断点下载,实现了点播,不需要等待视频全部加载完就可以跳到中间位置开始播放

弹幕

安卓浏览器中会对HTML5的video进行劫持,总是在最上层播放,并加上自己的控件,并且无法调节层级,在安卓手机中弹幕会无法正常观看,IOS手机没有这样的问题

预览

预览地址:barrage.codemcx.work

二维码:

源码

Github

希望大家可以给个Star,谢谢啦~

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
什么是TypeScriptTypeScript是JavaScript的加强版,它给JavaScript添加了可选的静态类型和基于类的面向对象编程,它拓展了JavaScript的语法。不过,你不必担心TypeScript跟浏览器不兼容,因为在编译时,它产生的都是JavaScript代码。为什么要学TypeScritpt?TypeScript是一门很有前景和钱景的语言;它能大幅的提工作效率,并且减少错误;这堂课我们能学到什么?随着前行业越来越受到重视,前的逻辑也越来越复杂,对前从业者的职业要求也越来越,Vue、Angular、React和一些新的框架层出不穷,而作为Angular等框架的推荐语言TypeScript也在市场中得到了认可和追捧,不管是前、还是游戏引擎、以及一些大型项目开发都中开始展露头角。但是这方面学习资源相对较少。课程特点:本堂课程通过深入浅出的讲解,幽默风趣的风格; 让大家在3个小时的课程中能够掌握大部分TypeScript的核心知识; 同时能够使用TypeScript进行React等框架的项目开发; 为大家的学习和在工作中使用TypeScript打下坚实的基础。课程大纲:1.TS的初步配置2.TS 数据类型 any 枚举3.函数的参数和返回值类型4.类非常重要 非常重要5.静态类属性和方法 Math6.泛型7.模块化 systemjs8.项目TS+react+webpack结合的工作流应类型管理 js->tsx 2.0如何用TS开发react->TSX(难点->官网 项目)工作流 package.json -> npm start npm run build 适用人群:1.Typescript零基础想掌握ts正确学习姿势和入门的初学者2.经验丰富的jser想拓宽自己知识掌握ES6和ES7新功能的从业者3.想在工作和项目中使用ts结合VAR框架的人员4.有志于成为全栈开发人员却苦于无法入门后和跟后沟通不畅的开发者5.想深入了解和使用angular的人员

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值