导语

今天是我们每个人都 期盼的六一儿童节,小编觉得只要心态好,天天都是儿童节,预祝大宝宝们儿童节快乐!开心一刻,言归正传,在前端技术纷乱复杂,快速发展的今天,作为一名前端开发工程师如何快速融入,对我们显得格外重要,如何一步一步变成大前端,大前端时代下的前端开发必备哪些技能,前端开发者进阶的路径,对于我们来说都是至关重要的,今天小编给各位宝宝们专门整理了进阶大前端的提纲,希望对大家有所帮助,如果喜欢不要忘记点赞

提纲

  • Part1 JavaScript深度剖析
  • Part2 前端工程化
  • Part3 核心框架原理进阶
  • Part4 Node.js全栈开发

Part1 JavaScript深度剖析

ECMAScript新特性

  • JavaScript与ECMAScript的区别和新特性
  • 块级作用域、模板字符串、const、let
  • 对下与数组的结构,rest操作符
  • 箭头函数、默认参数
  • 对象和数组的扩展用法
  • Proxy、Reflect、Map、Set、Symbol概念及用法
  • for...of、迭代器模式、生成器函数
  • ES Modules模块化
  • ES6-ES10……
  • AMD、CMD、ES6区别
  • Promis、await、async
  • class 类
  • 编译工具babel
  • 新特性的Polyfill:CoreJS标准库

JavaScript异步编程

  • JavaScript单线程设计
  • 同步模块和异步模块的调用差异
  • 回调函数的执行原理
  • Promise异步方案的使用
  • 处理异步任务的任务队列和事件循环
  • javaScript内部的宏任务和微任务
  • ES6 Generator迭代器的异步应用
  • 使用Async/Await的异步代码

TypeScript高级编程

  • 编程语言的数据类型
  • JavaScript的自有类型
  • Flow静态类型检查方案
  • Flow静态工具配置及相关插件使用
  • TypeScript基本语法
  • TypeScript高级特性(泛型、接口)
  • TypeScript内置对象标准库
  • TypeScript类型申明

函数式编程范式

  • 函数式编程的本质及应用场景
  • 如何以函数式编程风格创建应用程序
  • 用码构建功能复杂的程序
  • 纯函数的定义及为什么要用纯函数
  • 消除和副作用的意义
  • 柯里化、compose、高阶函数的优点
  • 不可变的数据结构
  • 常见库(Lodash、Ramda.js)

JavaScript性能优化

  • JavaScript中的垃圾收集
  • JavaScript内存管理
  • V8垃圾回收机制分类
  • 引用计数、标记清除、标记整理和增量标记
  • Preformance工具使用及注意事项
  • 20个代码优化层面细节

Part2 前端工程化

工程化

  • 什么是工程化
  • 工程化组成
  • 工程化在项目中的表现
  • 工程haul与工具之间的关系

脚手架工具和工程化

  • 脚手架设计思想与目标
  • 脚手架工具的本质作用
  • 常用的脚手架工具
  • Yeoman的使用及自定义Generator
  • Yeoman Sub Generator 特性
  • 用Yeoman创建自己的脚手架
  • Plop生成器的基本使用
  • 使用 Plop提高项目创建同类文件的效率
  • 脚手架工作原理剖析
  • 搭建自己的脚手架

动化构建

  • 如何使用自动化构建提高开发效率
  • 自动化构建工具有哪些
  • npm scripts vs scrpits hooks
  • Grunt工具的配置使用及扩展开发
  • Gulp工具的配置使用及扩展开发
  • 基于Gulp创建自动化构建流程
  • 封装独立的自动化构建工具
  • FIS3的使用及常用的插件和扩展

自动化测试

  • 自动化测试的主要分类: 单元测试、集成测试、E2E测试
  • 性能测试与压力测试
  • 常见的自动化测试框架与实现原理
  • Mocha、Jest、Enzyme、Cypress、Nightmare、Puppeteer
  • 前端项目自动化测试的最佳实践(基础设施、公共组件测试

自动化部署(CI / CD)

  • 持续集成与持续部署
  • 基于 GitHub / GitLab自动化工作流搭建
  • 常见的CI实践:Jenkins、GitLab CI、Travis CI、Circle CI
  • 开源项目: GitHub Actions
  • 基于常用CI系统实现静态部署/Node类项目的自动部署

模块开发与Webpack

  • 模块化标准与规范
  • ES Modules标准的支持情况
  • Webpack打包工具的基本使用
  • Webpack的配置详解
  • Webpack打包过程和打包结果分析
  • Webpack资源模块的加载(Loader)
  • Webpack的插件机制
  • 开发Webpack插件
  • 开发Webpack Loader
  • Webpack周边生态(Dev Server、HMR、Rroxy)
  • Webpack高级特性(Tree-shakingȄsideEffects)
  • Webpack打包过程及打包结果优化
  • 深度剖析Webpack实现原理(AST语法树)
  • 其他常见工具(Rollup、Parcel)

规范与标准化

  • 常见的代码Lint工具(ESLint、Stylelint)
  • 创建项目团队的专属Lint规则
  • 通用代码格式化工具Prettier
  • 将工具集成到Webpack使用
  • 配合Git Hook保证代码仓库中代码质量
  • 结合脚手架、自动化、模块化、规范化搭建现代化前端工程
点赞关注我,小编有话说

2020前端该如何脱颖而出(一)_java