/Front-end-Architecture

前端知识架构

Primary LanguageJavaScriptMIT LicenseMIT

四大宗旨:勤思考,多动手,善总结,能坚持

HTMl

  • HTML 语义化
  • HTML + CSS 脑图整理
  • HTML 所有标签整理归纳,填坑

Javascript

  • 闭包
  • 原型链
  • 严格模式
  • 对象创建原型链
  • 浅拷贝深拷贝
  • 事件冒泡和事件捕获
  • JS数据类型
  • EventLoop 宏任务 微任务 await/async
  • Promise
  • async/await
  • 异常处理
  • koa 洋葱中间件
  • Redux 中间件
  • Lodash 源码分析和理解过程
  • Vuex 源码分析理解过程
  • Redux 源码分析理解过程
  • Axios 拦截器
  • Axios 源码分析理解过程
  • 设计模式 (Vue 观察者模式 发布订阅模式 适配器模式 工厂模式...)
  • 开发**(面向对象?)
  • Javascript 性能优化
  • 模块化过程
  • 模块化实现方式
  • 基础算法
  • 代码规范
  • 正则表达式基础语法
  • 正则表达式拓展应用

CSS

  • Flex布局 语法整理
  • Grid布局 语法整理
  • bfc 的定义和应用
  • CSS 工程化
  • 常见的兼容问题
  • Less 语法 与 Sass 语法的区别
  • Less 最佳实践
  • Sass 最佳实践 占位符
  • Sass 混合宏调用 整理 参数传递和逻辑引用

开发框架

  • Vue
  • Vue2.x 版本 熟练使用
  • Vue2.x 源码深入了解
  • Vue 与 TypeScript 结合使用 上手 Vue 项目
  • Vue3 源码 特点和上手使用
  • Vuex 熟练使用
  • Vue + Vue Router + Vuex 熟练使用
  • React
  • 熟练使用 Jsx
  • React Hooks
  • React Hooks 性能优化 闭包陷阱 useReduce 最佳实践
  • React 性能优化
  • React 单元测试
  • React + TypeScript 结合使用
  • React 代码抽象思考
  • React 组件复用思路
  • React 设计原理
  • React 源码分析
  • 小程序
  • 小程序开发
  • 小程序核心API开发
  • umi
  • 了解使用umi
  • antd-pro-design 模版
  • Taro
  • Taro 小程序入门
  • uni-app
  • 实战开发

代码质量

  • 代码风格
  • 开源项目的高质量架构
  • Git 提交信息 husky commitlint git commit-log 规范
  • Git 提交前 预处理格式化文件 (TypeScript,jsx,js)
  • eslint 规范
  • webpack 集成 eslint 方法

前端性能优化

  • 网络层面 构建工具 图片选型
  • 存储层面 缓存,本地存储的机制和应用策略
  • 渲染层面 渲染原理,最佳实践策略
  • 拓展层面 CDN Gzip
  • 性能监测调试 埋点日志收集
  • 实际应用到开发项目中

构建工具

  • webpack
  • webpack 基础语法 entry module output loader plugins chunks bundle 概念
  • webpack 常用plugin整理 webpack 官网 插件整理与实践
  • webpack 常用loader整理
  • webpack 源码分析
  • webpack 分割代码基础内容
  • webpack 优化代码性能方面
  • webpack 文档阅读 文档
  • webpack 掌握自定义开发 plugin 和 loader
  • babel 编译器基础语法和配置
  • babel 最佳实践
  • babel 配置高阶的ES语法

前端工程化

网络

  • http基本结构
  • 网络层 **架构和原理
  • http 状态码
  • 浏览器从输入url到渲染页面,发生了什么
  • cookie
  • https原理
  • 前端安全意识
  • http 缓存机制

NodeJS

  • web开发框架实战开发运用
  • express
  • Koa
  • express 开发简单接口
  • Koa 开发简单接口
  • pm2 进程管理 Koa部署
  • NoSql 数据库
  • GraphQL API开发

商业级技术解决方案

  • API 鉴权方案
  • 长列表无限滚动和优化方案
  • 数据埋点方案
  • 首屏性能提升加载方案
  • 中间层架构方案
  • Serverless 无服务端方案

安卓原生开发

  • 学习使用 Java 开发原生的 Android 项目

面试技巧

  • 面试沟通技巧总结
  • 面试录音分析
  • 面试前的心态调整,面试策略

实战的开发

  • 博客后台管理系统
  • 博客前台开发
  • 博客API开发
  • 博客系统 koa 开发

工具

  • docker
  • nginx 配置选项
  • docker 混合使用
  • k8s

其他部分