«
前端学习路线图

时间:2022-3   


建议大家观看 B 站视频讲解,会清晰很多~

地址:https://www.bilibili.com/video/BV1nh411e7oG/

以下是文档版:

路线特点

  1. 一份全面的前端知识点大梳理和汇总
  2. 分阶段学习,每个阶段给出学习目标
  3. 使用符号对知识点的重要程度做了区分,按需学习
  4. 知识点附有描述和资源链接
  5. 提供一份清晰的个人顺序学习路线方法
  6. 提供大量优质学习资源

符号表

可根据知识点前的符号按需选学,并获取知识点描述和学习资源。

大纲

  1. 前言 - 学编程需要的特质
  2. 前端学习七阶段
  3. 前端入门
  4. 巩固基础
  5. 前端工程化
  6. 前端优化
  7. 前端生态
  8. 前端求职
  9. 前端未来

    • 我的前端学习路线

    • 尾声 - 持续学习

前言 - 学编程需要的特质

相信自己有能力,那么你就真的会有!

一、前端入门

⭐️ 开发工具

浏览器

编辑器

文档笔记

⭐️ HTML

⭐️ CSS

⭐️ JavaScript

✅ ES6+ 特性

二、巩固基础

前端基础知识

计算机基础

✅ 算法和数据结构

✅ 计算机网络

✅ 操作系统

软件开发基础

✅ 设计模式

⭐️ Git 版本控制

✅ Linux 服务器

✅ 正则表达式

三、前端工程化

⭐️ 研发流程

  1. 技术选型
  2. 初始化
  3. 开发
  4. 本地测试
  5. 代码提交
  6. 编译、打包、构建
  7. 部署
  8. 集成测试
  9. 发布上线
  10. 监控运维

⭐️ 代码托管

✅ Node.JS

⭐️ 包管理

开发框架

开发框架

⭐️ CSS 框架

⭐️ JavaScript 框架

⭐️ Vue
⭐️ React
❌ Angular
✅ Svelte
✅ UmiJS

封装库

⭐️ 组件库

数据可视化

组件(插件)

工具库

动效库

字体图标库

⭐️ 脚手架

⭐️ 前端架构设计

✅ 服务端渲染

BFF

✅ 微前端

CSS in JS

⭐️ CSS 模块化

✅ 开发调试

内网穿透

⭐️ CSS 预编译

测试

测试分类

✅ Mock

✅ 测试框架

✅ 代码质量

开发规范

类型校验

代码检查

代码风格

提交规范

提交检查

构建工具

自动化构建

打包工具

CI / CD

部署

⭐️ Web 服务器

⭐️ Nginx
✅ Apache

容器

✅ Docker
Kubernetes

部署策略

监控告警

四、前端优化

✅ 性能优化

性能指标

优化手段

用户体验

✅ 兼容性

浏览器兼容性

屏幕分辨率兼容性

跨平台兼容性

SEO

✅ 安全

五、前端生态

⭐️ 静态站点构建

开发

博客

文档

✅ 大前端

? 描述:前端技术的融合更加紧密,应用的领域也更加广泛,前端领域的内容呈现多样化,除了网站外,还可以用前端技术跨平台开发 Android、iOS、小程序、虚拟现实、增强现实等。

移动应用

移动应用打包

桌面应用

小程序

跨端开发框架

移动端调试

✅ Serverless

✅ 云开发

低代码

六、前端求职

流程

简历

面试题库

面经

面试实战

七、前端未来

WebComponents

我的前端学习路线

虽然上面整理的学习路线知识点非常多,但是大家也别太担心,其实按照一定顺序和方法来学习,并不会很难,聊聊我的学习经历。

1. 快速入门,培养兴趣

刚开始学习前端时,一定要以培养兴趣、快速入门为目标。我入门前端时,由于没有基础、啥都不懂,因此选择在线实战教程网站来学习,跟着教程案例一行行把代码敲下来,实时浏览显示效果,很轻松地就把 HTML、CSS、JavaScript 的语法基础过了一遍。但是这时,我对看过的知识点没有什么印象,基本是看了就忘,当我想要自己写一个网站,也根本无从下手。

于是,我开始试着死记硬背代码,结果发现背了之后还是不会写。那干脆一不做二不休,直接打开编辑器和教程网站,把之前在线实战时敲过的代码复制粘贴到编辑器中,然后再修改保存,到浏览器中打开文件。这样虽然要在编辑器和浏览器中来回切换,但起码能看到自己的网页文件运行的效果了。后来,我利用浏览器开发者工具提升了自己开发网站的调试效率,敲出的代码达不到满意的效果时,就再去查,再改,再浏览,最后终于完成了一个留言板网站!

通过这件事,我明白了一个道理,既然记不住知识,那就先别强行记忆,上手多写,忘了就去查不就好了?不要担心自己知识不够做不出来,只要你去试,都一定能实现。

2. 多看多写,巩固基础

在这种操作下,我虽然能使用基础三件套开发简易网站了,但做的很慢,还老出问题。于是,我开始完整地看了几本前端入门和项目实战书籍,有三件套入门的,也有响应式网站设计的,还有 JavaScript 综合讲解的,以及一套完整的视频教程,通过这些来复习巩固之前学过的知识,打好了基础,并且了解了更多实战教程上没见到的知识。

看书和视频的过程中,我跟着做了几个简易的网站,也是边看边做。在这之后,我发现自己渐渐地能够脱离文档来写网站了!

3. 框架学习,学以致用

但是,总感觉开发网站时,什么都要自己写,重复的代码写一大堆,很麻烦。于是,我试着上网搜了解决这些问题的方法,发现可以用组件库减少重复编写 HTML 和 CSS 代码,于是学了 LayUI,其实和之前一样的,就是打开官网找到要用的组件,然后复制到项目中修改就行了,写的多了竟然还真记住了一些(虽然这个没必要记)。

界面和样式代码简化了,但是 JavaScript 写的我依旧头疼。于是我决定进入下一个阶段的学习,当时先看了本书叫《锋利的 jQuery》来学习 jQuery,学会之后使用它趁热打铁做了几个网站,发现的确能大大简化繁琐的 JavaScript DOM 操作,让我尝到了甜头,又有了继续学习前端的动力。

在那之后大概半年,我开始学习主流前端框架 Vue,也是跟着视频教程学,并且结合 ElementUI 组件库开发了一个响应式网站。不得不说,习惯了用原生 JavaScript 和 jQuery 开发后,再去用 Vue 开发,真的是爽飞了,小有成就感。

4. 根据需要,自主学习

在那之后,我就是通过不断地做项目来积累经验,既然编程知识太多学不完,那我就随需随学,逐渐拓宽自己的知识面。举个例子,我要做一个移动端 H5 页面,那就去搜 Vue 的移动端组件库,学会了 MintUI、VantUI 等;项目中要处理日期,那我就去搜日期处理库,学会了 Moment.js;项目重复文件和代码太多,我就去网上搜一些组件化、模块化的最佳实践;项目代码太大、加载太慢,我就去网上搜一些前端压缩、性能优化的方式;要把开发好的项目变成 APP,那我就去网上搜到了 Cordova 等打包工具;跟其他同学一起做项目时比较混乱、开发效率低,我就去搜了一些代码规范、前端工程化等;遇到 Bug 时,也是自己去网上搜索解决方案,并且还要看看有没有知识点是我遗漏的,我会再去弥补学习。通过不断实践、不断遇到问题和自主解决问题,我始终保持着学习的积极性,学到了越来越多前端的知识,并通过归纳总结来加深印象。

5. 渐入佳境,拓宽视野

在那之后,我学前端技术非常快了,像 React、TypeScript、Redux、Dva、Umi、Lerna 等等都随用随学,随学随用。此外,我不仅仅关注前端网页开发本身,还同时关注前端的生态和发展,学习了微前端、Serverless、云开发、低代码等技术,因此个人的能力提升也很大。如今在鹅厂工作中也是,面对各种不同技术栈的前端项目,我都能迎难而上,毕竟不会就学嘛!

哦,写的渐入佳境,我都忘了,自己是一名后端工程师,还搁这儿吹牛逼呢( 所以本路线难免会有不专业的地方,请大家见谅~

6. 总结

总结一下,学前端的路线其实就一句话:基础三件套 => 巩固基础 => 学习框架 => 多做项目 => 按需学习 => 拓宽视野。还有一个学任何编程技术都要注意的点,全程多敲代码!多敲代码!多敲代码!

尾声 - 持续学习

优秀前端人的特质

学习资源

前端资讯

技术博客

学习要点