前端学习路线

这份学习路线并不完美,也不会有最终形态,正如前端不可预见、永无止境的未来。

💂 + 💻 = 👴🏽

建议先观看视频导读:https://www.bilibili.com/video/BV1nh411e7oG/

路线特点

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

 

 

符号表

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

 

 

大纲

  1. 前言 - 学编程需要的特质

  2. 前端学习七阶段

    1. 前端入门
    2. 巩固基础
    3. 前端工程化
    4. 前端优化
    5. 前端生态
    6. 前端求职
    7. 前端未来
  3. 我的前端学习路线

  4. 尾声 - 持续学习

 

前言 - 学编程需要的特质

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

 

 

一、前端入门

 

⭐️ 开发工具

 

浏览器

 

编辑器

 

文档笔记

 

⭐️ 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. 总结

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

 

 

尾声 - 持续学习

优秀前端人的特质

 

学习资源

 

前端资讯

 

技术博客

 

学习要点