• 系统大前端学习路线


    第一阶段: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的学习笔记也一样整理好了,有需要可以加群获取。

  • 相关阅读:
    微信输入法来了,一起来体验一下吧
    MySQL进阶
    设计模式 - 行为型模式考点篇:策略模式(概述 | 案例实现 | 优缺点 | 使用场景)
    【软考 系统架构设计师】系统可靠性分析与设计① 系统可靠性分析
    通达OA与think PHP对接
    面向OLAP的列式存储DBMS-9-[ClickHouse]的常用日期时间操作
    CodeForces 1717E【线性筛】
    【高阶数据结构】LRU Cache
    如何在ENVI中导入和定位SMAP的L3级土壤水分数据
    【好文推荐】openGauss 5.0.0 数据库安全——全密态探究
  • 原文地址:https://blog.csdn.net/super_man_ww/article/details/133908239