本阶段我们将逐渐迈入前端开发的深水区,CSS的高阶知识只是“开胃菜”,JavaScript将是你最大的挑战。

阶段目标概述

在本阶段开始前,请确认自己完成了一阶段的目标:“能复刻大部分网页”。

阶段二中,我们需要丰富自己的CSS技能,了解CSS方法论,常用的方法论有:

  • BEM(必学,目前较为常见)
  • SMACSS(发布较早,但可以学习其精髓)
  • Atom Design(可以参考,也较为常见,Tailwind.css 就是使用该方法论)

方法论一般不需要特别记忆,只需要在写CSS类名的时候时时用上即可。方法论会让你开发的网页更具维护性。

CSS的预处理器是提高CSS开发效率的重要工具,目前常见的预处理器有:

  • Sass:最流行,但安装较为麻烦
  • LessAntd 在使用的预处理器,其相关的项目一般都会使用该预处理器
  • Stylus:最好用,但不流行

个人推荐SassLess选其一学习,一个学会其他个个就都会了。

另外CSS后处理器PostCSS也是必备工具,它可以和预处理器配合使用,预处理器编译输出原生CSS后,它可以继续处理原生CSS,一般用以处理兼容性问题,还可以处理CSS单位转换的问题,总之用途广泛,具体可以查看PostCSS插件

本阶段JavaScript的学习将从ES5,学到ES6,只有充分了解JS的演进史,才能更好地掌握JS。当接触到Node.js时,将打开前端工程化的大门,需探究JS的包管理工具npm,编译器Babel(可以将ES6编译为ES5,来适配浏览器),各种模块标准(CommonJS,ES Module等)及打包器(Rollup,Webpack)。本阶段将使用原生JS编写各式各样的小应用,搭建自己的博客,编写专业的JS库。总之,本阶段你将成为一个合格的JS开发者。

基础

基础教程推荐

JavaScript高级程序设计JavaScript权威指南任选其一,CSS进阶使用CSS揭秘更好一些,HTTP权威指南 比较全面,快速入门可先看图解HTTP。另外建议将基本数据结构用JavaScript实现一遍(学习JavaScript数据结构与算法),最好能够刷刷题。

日常作业

基础小作业

基础大作业

进阶

除了需要对JavaScript更加精通,还需要系统学习Node.js.

进阶教程推荐

你不知道的JavaScriptJavaScript语言精髓与编程实践(第3版)主要加强对JavaScript的理解。
入门Node.js可以从Node.js官方入门教程开始,也可以直接从狼书(卷1):更了不起的Node.js开始,深入浅出Node.js可以作为进阶。

日常作业

进阶小作业

进阶大作业