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

简介: 2020前端该如何脱颖而出(一)

导语


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

提纲


  • 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保证代码仓库中代码质量
  • 结合脚手架、自动化、模块化、规范化搭建现代化前端工程
目录
相关文章
|
3月前
|
数据采集 前端开发 JavaScript
2020前端该如何脱颖而出(一)
2020前端该如何脱颖而出(一)
29 0
|
移动开发 前端开发 JavaScript
2020前端该如何脱颖而出(二)
2020前端该如何脱颖而出(二)
150 0
|
8月前
|
Web App开发 前端开发 JavaScript
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-fiber解决了什么问题
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-fiber解决了什么问题
95 0
|
8月前
|
前端开发 定位技术
前端学习笔记202305学习笔记第二十三天-地图单线程配置
前端学习笔记202305学习笔记第二十三天-地图单线程配置
63 0
前端学习笔记202305学习笔记第二十三天-地图单线程配置
|
8月前
|
前端开发 API
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-react-redux的工作流程
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-react-redux的工作流程
55 0
|
8月前
|
前端开发
前端学习笔记202306学习笔记第五十一天-工厂模式4
前端学习笔记202306学习笔记第五十一天-工厂模式
34 0
|
8月前
|
前端开发
前端学习笔记202305学习笔记第二十八天-数组结构之列表拖拽改变顺序4
前端学习笔记202305学习笔记第二十八天-数组结构之列表拖拽改变顺序4
32 0
|
4月前
|
前端开发 JavaScript
《Webpack5 核心原理与应用实践》学习笔记-> 构建微前端应用
《Webpack5 核心原理与应用实践》学习笔记-> 构建微前端应用
37 1
|
8月前
|
JavaScript 前端开发 调度
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-fiber和虚拟dom关系
前端学习笔记202307学习笔记第五十七天-模拟面试笔记react-fiber和虚拟dom关系
59 0
|
8月前
|
域名解析 缓存 网络协议
前端学习笔记202307学习笔记第五十七天-模拟面试笔记http-DNs解析ip地址
前端学习笔记202307学习笔记第五十七天-模拟面试笔记http-DNs解析ip地址
71 1