系统大前端学习路线

第一阶段:HTML/CSS3以及工具部分

HTML和CSS用来制作网页,利用盒子模型,浮动,定位,flex布局进行网页布局,网页颜色,字体,背景,变换,过渡,动画等增强网页的展示效果。

这个阶段的学习周期大概在20天左右

需要学习的内容如下:

  • vscode开发工具使用
  • markdown文档工具使用
  • 浏览器平台环境
  • 标签基础
  • DTD与META
  • 语义化
  • 选择器
  • 权重与优先级
  • 匹配规则
  • 浮动与清除
  • BFC
  • 类名组合规则
  • SEO前端技巧
  • 定位
  • 叠加技巧
  • 伪类
  • 伪元素
  • 盒子模型
  • 代码规范
  • 性能优化
  • 渲染原理
  • CSS Sprites
  • iconfont字体图标
  • 布局思路
  • 布局定式
  • css3动画
  • css3选择器
  • css3过渡
  • flex布局
  • 背景渐变
  • css3实用动效
  • 3D模块
  • css3变量
  • em/rem/vw

这个阶段的重点是主要是这些:标签、选择器、权重优先级、匹配规则、浮动与清除、BFC、类名组合规则、定位、叠加技巧、伪类、伪元素、盒子模型、布局思路、CSS3选择器、flex布局、em/rem/vw

达标水平:熟练掌握HTML、CSS核心语法,掌握多种布局技巧,能够独立绘制前端静态页面。能够做到按照企业开发模式还原设计图原型图,并保证符合w3c规范,结构健壮,代码精简,可扩展性强,兼容性强,SEO语义性强的页面项目。

学完这些可以完成一个企业内部多页面项目实战(非仿站),这个练手项目,我也上传到上文的群文件了,学完html和css缺少练手项目的,可以加入上文的前端学习交流群自行下载。

第二阶段:JavaScript 部分

JavaScript简称JS,主要用来填充网页的动态效果和数据交互,从JavaScript基础语法(ES5、ES6+)规则到DOM和BOM对象的属性和方法,从而完成网页常见的交互效果。

这个阶段的学习周期大概在50天左右

需要学习的内容如下:

JavaScript概念

  • 基础认知
  • 发展历史
  • 应用范围
  • 优缺点

ECMAScript

  • 语言概览
  • 语句语法
  • 数据类型
  • 运算符
  • 隐式转换
  • 运算规则
  • 控制流程
  • 作用域
  • 作用域链
  • 作用域解析
  • js解释引擎
  • 字符串属性方法
  • for of/for in
  • 数组属性方法
  • 对象
  • 广义对象概念
  • 对象特性
  • 存储机制
  • 深拷贝
  • 对象实际应用
  • 工厂模式
  • 构造函数
  • 原型
  • 原型链
  • 原型指向
  • 封装
  • 多种继承
  • 包装对象
  • this
  • this指向
  • js数据处理
  • 垃圾GC
  • 闭包原理与应用
  • debug方法论
  • 浏览器控制台工具应用
  • 面向对象开发
  • 函数式开发
  • 纯函数
  • 递归函数
  • 回调函数
  • 组合函数
  • 缓存函数
  • 柯里化函数
  • 偏函数
  • 函数防抖与节流
  • 高级函数
  • IIFE函数
  • 模块化
  • 数学对象
  • 高级数组方法(reduce、filter、map、every、some、forEach、find、findIndex、include)等
  • 高级对象方法(entires、defineProperty、freeze、fromEntries、assign、keys、create、hasOwnProperty)等
  • this通过bind
  • call
  • apply指向偏移
  • 同步与异步
  • 闭包模块化
  • 数据形变处理
  • 性能处理

DOM/BOM

  • DOM对象与方法
  • 节点与遍历树
  • DOM选择器
  • DOM节点增删改查
  • DOM样式操作
  • DOM位置获取与偏移
  • DOM对象与标签区别
  • DOM虚拟化
  • DOM事件
  • Event对象
  • 定时器与监听器
  • 事件委托
  • 事件代理
  • 事件分流
  • 事件冒泡
  • 默认行为
  • 事件捕获
  • 防抖
  • 节流
  • 滚动
  • 键盘行为
  • 事件降频
  • 行为锁机制
  • 拖拽模组
  • 碰撞检测
  • 距离判断
  • 三角函数
  • 方向判断
  • 运动框架
  • 弹性运动
  • 重力加速度
  • DOM树
  • CSSOM树
  • 渲染解析
  • 加载
  • 回流
  • 重绘
  • 浏览器线程与阻塞。
  • BOM深入
  • window对象
  • navigator
  • history
  • screen
  • location
  • spa概念
  • 本地传参
  • 日期对象使用
  • 日期格式化封装
  • 随机封装
  • DOM分片容器

JS业务应用扩展

  • JSON对象
  • 数据解析
  • JSON方法
  • 模板渲染
  • 缓存懒加载
  • 正则表达式RegExp
  • 元字符
  • 修饰符
  • 正向预查
  • 贪婪模式
  • replace方法
  • 分组与不分组
  • test
  • match与exec
  • 正则库封装
  • 表单校验
  • 图片预存懒加载
  • 自定义封装滚动组件
  • 多重轮播(循环、视差、旋转木马)
  • 选项卡切换
  • 楼梯导航
  • 吸顶导航
  • 拖拽导航
  • JavaScript编码风格指南
  • console应用技巧

ECMAScript5 --- ECMAScript9扩展

  • 版本解读
  • 应用环境
  • let
  • const
  • 解构赋值
  • 箭头函数
  • 对象解构
  • reset参数解构
  • class
  • set
  • get
  • extends
  • super
  • static
  • private实现
  • symbol
  • promise
  • proxy代理拦截
  • async/await
  • 对象新增API
  • 数组新增API
  • 字符串新增API
  • 原型属性
  • 对象修饰
  • 代理拦截
  • 链式询问
  • 空值合并运算符

这个阶段的所有内容都是重点,都要掌握!后面的框架那些都是基于JS的。这个阶段的学习目标是拥有编程思维,能够运用浏览器环境中的dom、bom解决前端需求。

达标水平:能够使用原生javascript进行业务开发,能实现常见的DOM库和工具库,能够修改第三方库源码以供业务特殊需求使用。

学完以后最好就是找一个小项目进行练习,检验自己的学习情况。如果你学完js,缺少练手的项目,可以做一下这个泡泡龙面向对象小游戏,源码、素材这些我都上传到上文的群文件了,有需要可以加入这个交流群,自行下载练习。

第三阶段:HTML5 / 移动端开发

移动端主要针对于手机、平板尺寸小,功能全的网页,需要掌握多尺寸的适配技术和概念。利用html、css、js完成移动端适配,以及响应式布局的技巧。

这个阶段的学习周期在30天左右

需要学习的内容如下:

HTML5标签与API

  • HTML5概念
  • 定义
  • 新增特性
  • DTD对比
  • 新增H5标签
  • 新增语义化H5标签
  • H5表单
  • H5拖拽事件 video
  • audio
  • fullScreen
  • FileReader文件流
  • Blob对象
  • sessionStorage
  • localStorage
  • 网络状态
  • 页面生命周期
  • 网页状态监听
  • 地理信息与定位
  • canvas画布
  • worker多线程
  • Notifications桌面通知
  • 播放器开发
  • canvas交互特效开发

移动端适配/事件

  • 移动端适配概念
  • 尺寸与分辨率原理
  • PPI与DPI计算
  • DIP与DPR设备像素概念
  • 视口viewport概念
  • 布局视口
  • 视觉视口
  • 理想视口
  • 视口适配方案(Meta viewport)缩放设置
  • screen窗口大小API
  • 媒体查询@media
  • rem适配
  • vw vh适配
  • 移动端适配方案
  • flexible rem方案
  • vh vw方案
  • 复合方案
  • 高清适配方案
  • 移动端字体缩放解决
  • 1px边框问题解决
  • 半像素线
  • 图片高清适配
  • image-set
  • srcset
  • js拼接URL技巧
  • IPhonex刘海屏适配
  • 安全区域
  • fit与env
  • Meta权限管理
  • 兼容优化
  • IOS头部底部闪屏回退输入框问题
  • 输入法空格问题
  • 默认首字母大写问题
  • 滑动卡顿问题等
  • 终端样式美化与访问判断
  • Touch事件组封装
  • click延迟处理
  • FastClick使用
  • 禁用缩放设置理想视口

常用类库/工具

jquery: 元素选择、增删改差、事件处理、位置获取、动画过渡、高级方法、特效应用

zepto:移动端的jquery、DOM操作、移动端事件、click延迟处理、touch事件组

基础UI库: layerUI 、easyUI、bootStrap、UI模块化、UI库使用技巧、文档解读、案例调试、表单系统

iScroll、touchjs等移动端事件库使用

swiper:移动端网站触摸滑动、轮播图插件、模块化应用、源码解读

art-template: 模板引擎 模板语法、渲染方法、原生模板引擎实现

CSS预处理:sass、less使用 stylus深入学习 、预处理语法、css编程、 Minxin 、预处理函数、继承、嵌套

vscode高级插件与配置 liveserver sass

模板化应用 、预处理应用

date-picker移动端原生组件开发

  • 需求分析
  • 业务规则
  • 技术栈选型
  • 文件输出规则
  • 技术分析
  • MVC模型概念与设计
  • 业务逻辑分类
  • view层适配方案
  • 原型布局搭建
  • 模板化生成
  • 工具函数开发
  • 面向对象式业务设计
  • 功能类日期对象开发
  • 交互业务封装
  • 模块对接
  • 优化设计
  • 面向对象高级程序设计

这一阶段的重点是移动端适配/事件、CSS预处理和date-picker移动端原生组件开发,主要是把移动端的概念掌握,能够使用rem+vw来进行适配。

达标水平:能够独立实现移动端H5开发适配各种移动设备并且能够处理各种兼容问题,能够利用原生js结合H5 新特性实现各种功能组件,例如音频视频播放器、懒加载、下拉刷新、等业务组件。

这个阶段可以做一个H5播放器进行自测。这里给大家准备了一些H5移动端的学习笔记,学习过程中常见的一些问题在这些学习笔记上都有讲解,有需要也可以加入WEB前端群免费领取。

第四阶段:Nodejs与工程化开发部分

Node.js使javascript可以运行在操作系统,从而完成更加全面的功能,比如操作系统中的文件操作,数据库操作等等;前端大部分工程化框架都是由nodejs来创建,比如webpack、vite等等;另外还可以完成整个网站后台的服务编写,从而窥探网站开发的整个过程。

这个阶段的学习周期在50天左右

需要学习的内容如下:

Node原生基础

  • Node基础概念
  • NPM命令
  • V8引擎概念
  • JavaScript模块化 CMD AMD UMD
  • EventLoop事件循环
  • 同步异步
  • 阻塞非阻塞
  • 任务队列
  • 宏任务
  • 微任务
  • 原生Node模块
  • 核心模块与require
  • module
  • 触发器events与path模块
  • fs模块
  • Buffer对象
  • URL模块
  • HTTP模块
  • stream流
  • Node原生封装HTTP与文件服务器

Node框架

  • express框架使用
  • 中间件
  • 核心对象
  • 路由配置
  • 模板引擎
  • 数据脚本
  • Router核心
  • CORS配置
  • 错误处理
  • 校验封装
  • PM2管理
  • nodemoon管理
  • MORGAN日志处理
  • 查询正则捕获
  • 中间件开发
  • bodyParse等第三方中间件使用
  • 文件流上传下载
  • 文件流切分

webpack工程化构建

  • 工程化概念
  • 工程化工具介绍
  • webpack基础知识
  • webpack配置与运行
  • plugin插件
  • loader使用
  • 入口出口配置
  • 模块modules
  • 依赖处理
  • dev Server
  • target
  • 文件切分
  • build打包
  • 热处理
  • package管理
  • 性能优化
  • 测试处理
  • 第三方插件使用
  • babel等

前后端数据交互

  • HTTP通信交互原理
  • 请求响应
  • MIME
  • URI地址
  • 报文解析
  • 端口
  • 报文流
  • 测试监听抓包
  • TCP/IP握手机制
  • 网络业务模型
  • 代理
  • 缓存
  • 网关
  • 隧道等概念
  • method与请求头分类
  • 基础XMLHTTPRequest对象方法属性
  • 方法
  • ajax异步交互
  • 同源策略原理
  • 原生js封装ajax交互
  • jquery的ajax封装交互
  • jsonp跨域处理
  • cors跨域处理
  • 携带cookie与跨域处理
  • 代理服务器跨域处理
  • cookie验证与通信
  • axios库的使用
  • 代理
  • 封装
  • 拦截
  • 合并
  • 二次封装
  • 通信加密策略
  • 数据对称加密
  • 数据非对称加密
  • RSA加密实践
  • MD5加密实践
  • 登录注册与鉴权机制
  • Authenticity认证
  • Token认证
  • JWT认证
  • session状态管理
  • oauth认证

RESTful接口设计

  • RESTful设计原则
  • 状态码设计与规范
  • 服务器响应规则与格式
  • 前后端接口协议制定
  • 传统RESTful改进
  • API设计规范
  • 资源定位
  • JSON模式
  • 合约说明
  • 资源标识符
  • 缓存友好API
  • HTTP头管理
  • 文档定义
  • 松耦合原则
  • 一致性
  • 重用
  • 稳定性原则

数据库存储

  • MongoDB基础概念
  • NoSQL与SQL
  • CAP定理
  • RDBMS
  • MongoDB语法
  • 指令
  • 监控与GUI
  • MongoDb驱动
  • Mongoose应用
  • 数据库创建
  • 集合增删改查
  • 文档增删改查
  • 数据库查询
  • 高级查询操作
  • 通道查询
  • 多条件查询
  • 反向筛选
  • 索引处理
  • aggregate聚合管道、
  • validation验证
  • population联表
  • middleware中间件处理
  • 查询ERROR类二次封装

博客后台项目实战

  • 数据库设计
  • 服务端路由搭建
  • 接口设计与API管理
  • 通信交互管道封装
  • 注册登录
  • 路由导航
  • 前端路由管理
  • 权限管理
  • 用户管理
  • 分类管理
  • 标签管理
  • 文章管理
  • 模块化功能封装
  • 校验库封装
  • promise链式行为封装
  • 异步模块处理
  • SPA单页面应用初级实现
  • 原生集中行为控制器
  • 模板化+模块化+预处理+工程化实现前端页面

组件化封装

  • 组件化基础概念
  • 组件设计原则
  • 组件封装
  • 组件耦合与解耦
  • 工程化+模板化+模块化实现原生组件化功能

这个阶段的重点是webpack工程化构建、前后端数据交互、博客的后台项目实战这三块,学习目标是掌握前端工程化与后端的数据交互。

达标水平:能够理清完整的WEB应用情景和交互行为,从理论到实践掌握常规数据库设计、路由设计、工程化、模块化、组件化、权限、鉴权、加密、跨域、认证,能够完成从前端到后台到数据库一整条线路的注册、登录、查询、修改、管理等功能。

vue框架部分

框架可以提升开发效率和团队协作,底层依靠前端三剑客(html、css、js)进行封装完成。从mvvm概念入手,进一步理解原理,数据劫持(defineProp或proxy)、发布订阅、diff算法,,来理解为什么vue可以简化前端开发,提升效率,原理之上就是各种语法糖的学习。另外一点就是团队协作,也是正因为框架的统一性封装,在之上进行开发可以让开发人员代码风格统一,便于协作共事。

这个阶段的学习周期大概在40天左右。

需要学习的内容包含:

vue基础

  • vue开发准备
  • 工具与插件
  • mvc mvp mvvm设计理念
  • 原生js实现MVVM核心框架
  • vue设计模式
  • 生命周期
  • 命令与属性
  • 组件化
  • 数据驱动与双向绑定
  • 虚拟DOM概念原理
  • 模板语法
  • 条件与列表
  • 数组监测
  • 计算属性
  • 事件处理
  • 修饰与表单
  • 监听器
  • 过滤器
  • methods watch computed filter对比
  • 组件化开发
  • 动态组件
  • 组件通信
  • 高级组件通信
  • 插槽
  • vue动画
  • 实例对象
  • set
  • get
  • nextTick
  • vue插件

vue工程化

  • Babel
  • webpack配置vue
  • vue单文件组件
  • vue-cli
  • 工程平台处理
  • postCss
  • animate
  • core
  • socket
  • lodash工具
  • vue-cli插件
  • preset
  • 静态资源处理
  • 环境变量与膜还是切换
  • 工程化部署
  • 工程构建

vue Router

  • vue路由概念
  • 嵌套路由
  • 路由视图
  • 动态路由
  • 路由匹配
  • 编程式导航
  • history
  • hash模式管理
  • 命名视图
  • 重定向与别名
  • 导航守卫
  • 路由元信息
  • 滚动与懒加载
  • 导航故障处理

vuex

  • vuex核心概念
  • EventBus对比
  • 状态管理模式
  • Store
  • state
  • getter
  • mutation
  • action
  • moudule
  • vuex辅助函数与API功能
  • vuex环境选择
  • vuex模块化处理规则与技巧
  • 对象风格提交方式
  • 模块重用等

vue项目实战

  • vue博客项目实战 PC + 移动端
  • elementUI
  • vantUI
  • websocket聊天室
  • 虚拟人偶
  • vueScroll
  • store
  • qs
  • nprogress
  • editor
  • 文章分类
  • 词云效果
  • spa单页面应用
  • 移动PC无缝切换
  • 完整注册登录
  • vue加密鉴权
  • http封装管理
  • 错误处理封装
  • vuex核心状态管理
  • 本地存储状态更新
  • 令牌处理
  • 文章富文本编辑
  • 点赞
  • 收藏
  • 访问
  • 评论
  • 组件封装
  • 组件复用
  • 组件混合
  • 高级组件开发
  • 复合性组件通信
  • vue中处理原生DOM行为
  • vue常见错误处理
  • 重置vue数据响应
  • 个人信息修改
  • 头像上传
  • 通知组件封装
  • postcss应用
  • 项目打包优化

这个阶段和JS阶段一样,全部都是重点!学习目标是掌握vue框架及相关生态库。

达标水平:能够熟练运用vue、vuex、vuerouter、vue-cli、webpack、postcss、babel 以及各种第三方库,实现项目开发需求,独立完成完整的前端现代化工程项目,并且深入框架原理掌握mvvm核心,能够用原生JavaScript模拟实现vue的内核双向绑定响应式模型。

VUE的学习笔记也一样整理好了,有需要可以加群获取。

  • 0
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值