├─{1}--阶段一:课程设计及前端创建脚手架开发
│ ├─{1}--需求分析和架构设计:做什么,如何做?
│ │ ├─第1章 课程简介
│ │ │ 1-1 课程导学-慕课网体系课 2022-11-12 21_19.mp4
│ │ │
│ │ ├─第2章 需求分析
│ │ │ 2-1 需求分析-了解软件开发生命周期-慕课网体系课 2022-11-12 21_20.mp4
│ │ │ 2-2 宏观需求分析-慕课网体系课 2022-11-12 21_21.mp4
│ │ │ 2-3 技术整体架构 - 几个项目,项目的关系-慕课网体系课 2022-11-12 21_21.mp4
│ │ │ 2-4 技术整体架构 - 核心内容分析-慕课网体系课 2022-11-12 21_22.mp4
│ │ │
│ │ └─第3章 前端研发流程
│ │ 3-1 为什么要优化前端研发流程?1-慕课网体系课 2022-11-12 21_23.mp4
│ │ 3-2 为什么要优化前端研发流程?2-慕课网体系课 2022-11-12 21_24.mp4
│ │ 3-3 研发流程优化背后的思考1-慕课网体系课 2022-11-12 21_24.mp4
│ │ 3-4 研发流程优化背后的思考2-慕课网体系课 2022-11-12 21_24.mp4
│ │ 3-5 大厂研发流程揭秘-慕课网体系课 2022-11-12 21_25.mp4
│ │ 3-6 创建项目流程优化背后的思考-慕课网体系课 2022-11-12 21_26.mp4
│ │ 3-7 前端研发模式优化背后的思考1-慕课网体系课 2022-11-12 21_27.mp4
│ │ 3-8 前端研发模式优化背后的思考2-慕课网体系课 2022-11-12 21_27.mp4
│ │ 3-9 前端监控体系+测试体系分享-慕课网体系课 2022-11-12 21_27.mp4
│ │ 3-10 前端发布体系+架构师课程大图分享-慕课网体系课 2022-11-12 21_28.mp4
│ │
│ ├─{2}--脚手架架构设计和框架搭建
│ │ ├─{1}--第1章本周介绍
│ │ │ [1.2.1.1]--1-1确立本周目标.mp4
│ │ │ [1.2.1.2]--1-2前端研发脚手架imooc-cli核心功能演示.mp4
│ │ │ [1.2.1.3]--1-3脚手架在课程中的定位.mp4
│ │ │
│ │ ├─{2}--第2章脚手架开发入门
│ │ │ [1.2.2.1]--2-1本章知识脉络和难点解析.mp4
│ │ │ [1.2.2.2]--2-2站在前端研发的视角,分析开发脚手架的必要性.mp4
│ │ │ [1.2.2.3]--2-3从使用角度理解什么是脚手架?.mp4
│ │ │ [1.2.2.4]--2-4脚手架原理讲解(上).mp4
│ │ │ [1.2.2.5]--2-5脚手架原理讲解(下).mp4
│ │ │ [1.2.2.6]--2-6脚手架开发流程和难点解析.mp4
│ │ │ [1.2.2.7]--2-7快速入门第一个脚手架.mp4
│ │ │ [1.2.2.8]--2-8脚手架本地调试方法.mp4
│ │ │ [1.2.2.9]--2-9脚手架本地调试标准流程总结.mp4
│ │ │ [1.2.2.10]--2-10脚手架命令注册和参数解析.mp4
│ │ │ [1.2.2.11]--2-11脚手架项目发布.mp4
│ │ │
│ │ ├─{3}--第3章脚手架框架搭建
│ │ │ [1.2.3.1]--3-1本章的收获是什么,难点是什么?.mp4
│ │ │ [1.2.3.2]--3-2原生脚手架开发痛点分析.mp4
│ │ │ [1.2.3.3]--3-3本章重点:lerna简介及脚手架开发流程.mp4
│ │ │ [1.2.3.4]--3-4基于lerna搭建脚手架框架.mp4
│ │ │ [1.2.3.5]--3-5Lerna核心操作.mp4
│ │ │ [1.2.3.6]--3-6Lerna发布流程.mp4
│ │ │
│ │ ├─{4}--第4章Lerna源码分析(加餐)
│ │ │ [1.2.4.1]--4-1赚回学费:武装简历、升职加薪.mp4
│ │ │ [1.2.4.2]--4-2lerna源码结构分析和调试技巧.mp4
│ │ │ [1.2.4.3]--4-3Node源码调试过程中必会的小技巧.mp4
│ │ │ [1.2.4.4]--4-4lerna初始化过程源码详细分析.mp4
│ │ │ [1.2.4.5]--4-5【高能知识点】npm项目本地依赖引用方法.mp4
│ │ │ [1.2.4.6]--4-6脚手架框架yargs快速入门.mp4
│ │ │ [1.2.4.7]--4-7yargs高级用法讲解.mp4
│ │ │ [1.2.4.8]--4-8lerna脚手架初始化过程超详细讲解.mp4
│ │ │ [1.2.4.9]--4-9lerna脚手架Command执行过程详解.mp4
│ │ │ [1.2.4.10]--4-10【关键知识复习】javascript事件循环.mp4
│ │ │ [1.2.4.11]--4-12import-local执行流程深度分析.mp4
│ │ │ [1.2.4.12]--4-13pkg-dir源码解析(一大波优秀的文件操作库).mp4
│ │ │ [1.2.4.13]--4-14resolve-from源码解析(彻底搞懂node_mo.mp4
│ │ │ [1.2.4.14]--4-15Node模块加载核心方法_resovleFileName.mp4
│ │ │ [1.2.4.15]--4-16fs模块toRealPath源码深入解析.mp4
│ │ │ [1.2.4.16]--4-17讲一个高难度的正则表达式(想挑战的点进来).mp4
│ │ │ [1.2.4.17]--4-18大招:如何快速拿到面试“一血”.mp4
│ │ │
│ │ └─{5}--第5章本周总结+作业
│ │ [1.2.5.1]--5-1本周总结+作业.mp4
│ │
│ ├─{3}--脚手架核心流程开发
│ │ ├─{1}--第1章本周导学
│ │ │ [1.3.1.1]--1-1本周整体内容介绍和学习方法.mp4
│ │ │
│ │ ├─{2}--第2章脚手架整体架构设计
│ │ │ [1.3.2.1]--2-1聊一个很多同学很感兴趣的话题:大厂是如何做项目的?.mp4
│ │ │ [1.3.2.2]--2-2前端研发过程中的痛点和需求分析.mp4
│ │ │ [1.3.2.3]--2-3加餐:大厂的git操作规范是怎样的?.mp4
│ │ │ [1.3.2.4]--2-4高端操作:脚手架架构设计+绘制架构图.mp4
│ │ │ [1.3.2.5]--2-5架构设计图绘图技巧分享.mp4
│ │ │
│ │ ├─{3}--第3章脚手架模块拆分策略和core模块技术方案
│ │ │ [1.3.3.1]--3-1脚手架模块拆分策略.mp4
│ │ │ [1.3.3.2]--3-2core模块技术方案.mp4
│ │ │
│ │ ├─{4}--第4章脚手架执行准备过程实现
│ │ │ [1.3.4.1]--4-1脚手架框架代码拆包+import-local应用.mp4
│ │ │ [1.3.4.2]--4-2检查版本号功能开发(require加载资源类型讲解+npm.mp4
│ │ │ [1.3.4.4]--4-4root账号启动检查和自动降级功能开发.mp4
│ │ │ [1.3.4.5]--4-5用户主目录检查功能开发.mp4
│ │ │ [1.3.4.6]--4-6入参检查和debug模式开发.mp4
│ │ │ [1.3.4.7]--4-7环境变量检查功能开发.mp4
│ │ │ [1.3.4.8]--4-8通用npmAPI模块封装.mp4
│ │ │ [1.3.4.9]--4-9npm全局更新功能开发.mp4
│ │ │
│ │ ├─{5}--第5章脚手架命令注册实现(基于commander)
│ │ │ [1.3.5.1]--5-1快速实现一个commander脚手架.mp4
│ │ │ [1.3.5.2]--5-2commander脚手架全局配置.mp4
│ │ │ [1.3.5.3]--5-3commander脚手架命令注册的两种方法.mp4
│ │ │ [1.3.5.4]--5-4commander注册命令的两种高级用法.mp4
│ │ │ [1.3.5.5]--5-5再讲3条commander的高级用法.mp4
│ │ │
│ │ ├─{6}--第6章Node项目如何支持ESMosrcle【加餐】
│ │ │ [1.3.6.1]--6-1通过webpack完成ESMosrcle资源构建.mp4
│ │ │ [1.3.6.2]--6-2通过webpacktarget属性支持Node内置库.mp4
│ │ │ [1.3.6.3]--6-3webpackloader配置babel-loader支持.mp4
│ │ │ [1.3.6.4]--6-4通过Node原生支持ESMosrcle.mp4
│ │ │ [1.3.6.5]--6-6Node支持ESMosrcle的两种方法总结.mp4
│ │ │
│ │ └─{7}--第7章本周总结+作业
│ │ [1.3.7.1]--7-1本周总结+作业.mp4
│ │
│ ├─{4}--脚手架命令注册和执行过程开发
│ │ ├─{1}--第1章本周导学
│ │ │ [1.4.1.1]--1-1本周整体内容介绍和学习方法.mp4
│ │ │
│ │ ├─{2}--第2章imooc-cli脚手架命令注册
│ │ │ [1.4.2.1]--2-1imooc-cli脚手架初始化+全局参数注册.mp4
│ │ │ [1.4.2.2]--2-2imooc-cli脚手架命令注册.mp4
│ │ │
│ │ ├─{3}--第3章高性能脚手架架构设计和缓存结构设计
│ │ │ [1.4.3.1]--3-1当前imooc-cli脚手架架构痛点分析.mp4
│ │ │ [1.4.3.2]--3-2高性能脚手架架构设计.mp4
│ │ │ [1.4.3.3]--3-3脚手架命令动态加载功能架构设计.mp4
│ │ │
│ │ ├─{4}--第4章通用npm模块类Package封装
│ │ │ [1.4.4.1]--4-1脚手架命令本地调试功能支持.mp4
│ │ │ [1.4.4.2]--4-2动态执行库exec模块创建.mp4
│ │ │ [1.4.4.3]--4-3创建npm模块通用类Package.mp4
│ │ │ [1.4.4.4]--4-4Package类的属性、方法定义及构造函数逻辑开发.mp4
│ │ │ [1.4.4.5]--4-5Package类获取入口文件路径功能开发(pkg-dir应.mp4
│ │ │ [1.4.4.6]--4-6利用npminstall库安装npm模块.mp4
│ │ │ [1.4.4.7]--4-7Package类判断模块是否存在方法开发.mp4
│ │ │ [1.4.4.8]--4-8Package类更新模块逻辑开发.mp4
│ │ │ [1.4.4.9]--4-9Package类获取缓存模块入口文件功能改造.mp4
│ │ │
│ │ ├─{5}--第5章预备知识:Node多进程开发入门
│ │ │ [1.4.5.1]--5-1进程的基本概念(讲解在操作系统中如何查看进程的嵌套关系).mp4
│ │ │ [1.4.5.2]--5-2child_process异步方法使用教程(exec&ex.mp4
│ │ │ [1.4.5.3]--5-3child_processspawn用法以及与exec&e.mp4
│ │ │ [1.4.5.4]--5-4child_processfork用法及父子进程通信机制讲.mp4
│ │ │
│ │ ├─{6}--第6章基于Node多进程构建高性能脚手架
│ │ │ [1.4.6.1]--6-1通用脚手架命令Command类封装.mp4
│ │ │ [1.4.6.2]--6-2脚手架参数初始化方法开发.mp4
│ │ │ [1.4.6.3]--6-3利用Node多进程动态执行命令(stdio的inherit.mp4
│ │ │ [1.4.6.4]--6-4生成Node多进程动态执行代码.mp4
│ │ │ [1.4.6.5]--6-5windows操作系统spawn执行命令兼容.mp4
│ │ │
│ │ ├─{7}--第7章加餐:Node进阶:child_process源码分析
│ │ │ [1.4.7.1]--7-1Node多进程child_process库exec方法源码.mp4
│ │ │ [1.4.7.2]--7-2高能:child_process库exec源码精度.mp4
│ │ │ [1.4.7.3]--7-3深度分析child_process库spawn底层实现.mp4
│ │ │ [1.4.7.4]--7-4child_process事件应用方法详解.mp4
│ │ │ [1.4.7.5]--7-5高难度:深度解析child_process库spawn方法.mp4
│ │ │ [1.4.7.6]--7-6child_process库fork执行流程分析.mp4
│ │ │ [1.4.7.7]--7-7精化:Node多进程源码总结(想知道结论的同学直接点这里).mp4
│ │ │
│ │ └─{8}--第8章本周总结+作业
│ │ [1.4.8.1]--8-1本周总结+作业.mp4
│ │
│ ├─{5}--脚手架创建项目流程设计和开发
│ │ ├─{1}--第1章本周导学
│ │ │ [1.5.1.1]--1-1本周整体内容介绍和学习方法.mp4
│ │ │
│ │ ├─{2}--第2章脚手架项目创建功能架构设计
│ │ │ [1.5.2.1]--2-1脚手架创建项目功能架构背后的思考.mp4
│ │ │ [1.5.2.2]--2-2项目创建前准备阶段架构设计.mp4
│ │ │ [1.5.2.3]--2-3下载项目模板阶段架构设计.mp4
│ │ │
│ │ ├─{3}--第3章项目基本信息获取功能开发(详解命令行交互)
│ │ │ [1.5.3.1]--3-1项目创建准备阶段――判断当前目录是否为空功能开发.mp4
│ │ │ [1.5.3.2]--3-2inquirer基本用法和常用属性入门.mp4
│ │ │ [1.5.3.3]--3-3inquirer其他交互形式演示.mp4
│ │ │ [1.5.3.4]--3-4强制清空当前目录功能开发.mp4
│ │ │ [1.5.3.5]--3-5获取项目基本信息功能开发.mp4
│ │ │ [1.5.3.6]--3-6项目名称和版本号合法性校验.mp4
│ │ │
│ │ ├─{4}--第4章预备知识:egg.js+云mongodb快速入门
│ │ │ [1.5.4.1]--4-1下载项目模板功能实现流程分析+egg.js简介.mp4
│ │ │ [1.5.4.2]--4-2imooc-cli后端项目创建.mp4
│ │ │ [1.5.4.3]--4-3通过egg.js框架添加新的API.mp4
│ │ │ [1.5.4.4]--4-4云mongodb开通+本地mongodb调试技巧讲解.mp4
│ │ │ [1.5.4.5]--4-5egg.js接入mongodb方法.mp4
│ │ │
│ │ ├─{5}--第5章项目模板开发+获取项目模板API开发
│ │ │ [1.5.5.1]--5-1脚手架初始化项目模板开发.mp4
│ │ │ [1.5.5.2]--5-2脚手架请求项目模板API开发.mp4
│ │ │ [1.5.5.3]--5-3通过环境变量配置默认URL+选择项目模板功能开发.mp4
│ │ │
│ │ ├─{6}--第6章脚手架项目模板下载功能开发
│ │ │ [1.5.6.1]--6-1脚手架下载项目模板功能开发.mp4
│ │ │ [1.5.6.2]--6-2通过spinner实现命令行loading效果.mp4
│ │ │ [1.5.6.3]--6-3项目模板更新功能调试.mp4
│ │ │
│ │ ├─{7}--第7章本周加餐:inquirer源码解析:彻底搞懂命令行交互原理
│ │ │ [1.5.7.1]--7-1本章学习路径和学习目标.mp4
│ │ │ [1.5.7.2]--7-2readline的使用方法和实现原理.mp4
│ │ │ [1.5.7.3]--7-3高能:深入讲解readline键盘输入监听实现原理.mp4
│ │ │ [1.5.7.4]--7-4秀操作:手写readline核心实现.mp4
│ │ │ [1.5.7.5]--7-5命令行样式修改的核心原理:ansi转义序列讲解.mp4
│ │ │ [1.5.7.6]--7-7响应式库rxjs快速入门.mp4
│ │ │ [1.5.7.7]--7-8放大招:手写命令行交互式列表组件(上).mp4
│ │ │ [1.5.7.8]--7-9放大招:手写命令行交互式列表组件(下).mp4
│ │ │ [1.5.7.9]--7-10inquirer源码执行流程分析.mp4
│ │ │
│ │ └─{8}--第8章本周总结+作业
│ │ [1.5.8.1]--8-1本周总结+作业.mp4
│ │
│ └─{6}--脚手架项目和组件初始化开发
│ ├─{1}--第1章本周导学
│ │ [1.6.1.1]--1-1本周整体内容介绍和学习方法.mp4
│ │
│ ├─{2}--第2章脚手架安装模板功能架构设计
│ │ [1.6.2.1]--2-1脚手架安装项目模板架构设计.mp4
│ │ [1.6.2.2]--2-2脚手架组件初始化架构设计.mp4
│ │
│ ├─{3}--第3章脚手架模板安装核心实现:ejs库功能详解
│ │ [1.6.3.1]--3-1ejs模板引擎的三种基本用法.mp4
│ │ [1.6.3.2]--3-2ejs模板不同标签用法详解.mp4
│ │ [1.6.3.3]--3-3ejs模板几种特殊用法.mp4
│ │ [1.6.3.4]--3-4glob用法小结.mp4
│ │
│ ├─{4}--第4章脚手架项目模板安装功能开发
│ │ [1.6.4.1]--4-1引入项目模板类型和标准安装逻辑开发.mp4
│ │ [1.6.4.1]--4-1引入项目模板类型和标准安装逻辑开发【瑞客论坛 www.ruike1.com】.mp4
│ │ [1.6.4.2]--4-2拷贝项目模板功能开发.mp4
│ │ [1.6.4.2]--4-2拷贝项目模板功能开发【瑞客论坛 www.ruike1.com】.mp4
│ │ [1.6.4.3]--4-3项目模板安装依赖和启动命令.mp4
│ │ [1.6.4.3]--4-3项目模板安装依赖和启动命令【瑞客论坛 www.ruike1.com】.mp4
│ │ [1.6.4.4]--4-4白名单命令检测功能开发.mp4
│ │ [1.6.4.4]--4-4白名单命令检测功能开发【瑞客论坛 www.ruike1.com】.mp4
│ │ [1.6.4.5]--4-5项目名称自动格式化功能开发.mp4
│ │ [1.6.4.5]--4-5项目名称自动格式化功能开发【瑞客论坛 www.ruike1.com】.mp4
│ │ [1.6.4.7]--4-7init命令直接传入项目名称功能支持.mp4
│ │ [1.6.4.7]--4-7init命令直接传入项目名称功能支持【瑞客论坛 www.ruike1.com】.mp4
│ │
│ ├─{5}--第5章组件模板开发及脚手架组件初始化功能支持
│ │ [1.6.5.1]--5-1慕课乐高组件库模板开发.mp4
│ │ [1.6.5.2]--5-2项目和组件模板数据隔离+动态配置ejsignore.mp4
│ │ [1.6.5.3]--5-3获取组件信息功能开发.mp4
│ │ [1.6.5.4]--5-4解决组件库初始化过程中各种工程问题.mp4
│ │
│ ├─{6}--第6章脚手架自定义初始化项目模板功能开发
│ │ [1.6.6.1]--6-1自定义项目模板开发.mp4
│ │ [1.6.6.2]--6-2自定义模板执行逻辑开发.mp4
│ │ [1.6.6.3]--6-3自定义模板上线.mp4
│ │
│ ├─{7}--第7章本周加餐:ejs库源码解析――彻底搞懂模板动态渲染原理
│ │ [1.6.7.1]--7-1ejs.compile执行流程分析.mp4
│ │ [1.6.7.2]--7-2深入讲解ejs编译原理.mp4
│ │ [1.6.7.3]--7-3动态生成Function+with用法讲解.mp4
│ │ [1.6.7.4]--7-4ejscompile函数执行流程分析.mp4
│ │ [1.6.7.5]--7-5ejs.render和renderFile原理讲解.mp4
│ │
│ ├─{8}--第8章加餐:require源码解析,彻底搞懂npm模块加载原理
│ │ [1.6.8.1]--8-1require源码执行流程分析.mp4
│ │ [1.6.8.2]--8-2require加载模块原理详解.mp4
│ │ [1.6.8.3]--8-3require加载内置模块和四种文件类型原理.mp4
│ │ [1.6.8.4]--8-4require缓存机制解析和CommonJS加载主模块原理.mp4
│ │ [1.6.8.5]--8-5require原理总结和回顾.mp4
│ │
│ └─{9}--第9章本阶段总结+作业
│ [1.6.9.1]--9-1本周总结+作业.mp4
│ [1.6.9.1]--9-1本周总结+作业【瑞客论坛 www.ruike1.com】.mp4
│
├─{2}--阶段二:B端项目分析和设计,编辑器初步编码,业务组件库的搭建
│ ├─{1}--B端项目需求分析和架构设计
│ │ ├─{1}--第1章本周导学
│ │ │ [2.1.1.1]--1-1本周简介.mp4
│ │ │
│ │ ├─{2}--第2章B端项目需求分析和架构设计
│ │ │ [2.1.2.1]--2-1引子:突破瓶颈,前端破局之路.mp4
│ │ │ [2.1.2.2]--2-2需求分析.mp4
│ │ │ [2.1.2.3]--2-3项目难点分析.mp4
│ │ │
│ │ ├─{3}--第3章难点解决方案和技术选型
│ │ │ [2.1.3.1]--3-1组件库难点解决方案.mp4
│ │ │ [2.1.3.2]--3-2编辑器难点解析一.mp4
│ │ │ [2.1.3.3]--3-3编辑器难点解析二.mp4
│ │ │ [2.1.3.4]--3-4技术选型-typescript.mp4
│ │ │ [2.1.3.5]--3-5技术选型-vue和react.mp4
│ │ │
│ │ └─{4}--第4章本周总结
│ │ [2.1.4.1]--4-1总体架构.mp4
│ │
│ ├─{2}--前端基础技术回顾和巡礼
│ │ ├─{1}--第1章本周导学
│ │ │ [2.2.1.1]--1-1本周导学.mp4
│ │ │
│ │ ├─{2}--第2章Typescript基础和进阶
│ │ │ [2.2.2.1]--2-1Typescript基础知识.mp4
│ │ │ [2.2.2.2]--2-2接口:Interface.mp4
│ │ │ [2.2.2.4]--2-5解析源码:泛型和接口.mp4
│ │ │ [2.2.2.5]--2-6源码解析:深入泛型.mp4
│ │ │ [2.2.2.6]--2-7源码解析:高级特性.mp4
│ │ │ [2.2.2.7]--2-8源码解析extends的妙用.mp4
│ │ │ [2.2.2.8]--2-10定义文件进阶-写一个定义文件.mp4
│ │ │ [2.2.2.9]--2-11typescript总结.mp4
│ │ │
│ │ └─{3}--第3章Vue3新特性的巡礼
│ │ [2.2.3.10]--3-10使用泛型改造自定义函数.mp4
│ │ [2.2.3.11]--3-11知识小结.mp4
│ │ [2.2.3.1]--3-1新特性简介.mp4
│ │ [2.2.3.2]--3-2为什么有compositionAPI.mp4
│ │ [2.2.3.3]--3-3compositionAPI基础知识.mp4
│ │ [2.2.3.4]--3-4深入响应式对象-追踪变化.mp4
│ │ [2.2.3.5]--3-5深入响应式对象-存储和触发effect.mp4
│ │ [2.2.3.6]--3-6Vue副作用处理机制.mp4
│ │ [2.2.3.7]--3-7Vue深入了解watchEffect.mp4
│ │ [2.2.3.8]--3-8Vue使用watch精确控制副作用.mp4
│ │ [2.2.3.9]--3-9第一个自定义hooks函数.mp4
│ │
│ ├─{3}--项目整体搭建
│ │ ├─{1}--第1章本周导学
│ │ │ [2.3.1.1]--1-1课程导学.mp4
│ │ │
│ │ ├─{2}--第2章前端脚手架简介
│ │ │ [2.3.2.1]--2-1大话前端工具链.mp4
│ │ │ [2.3.2.2]--2-2使用ImoocCLI创建项目.mp4
│ │ │ [2.3.2.3]--2-3小花絮:VueCLI对战Vite.mp4
│ │ │
│ │ ├─{3}--第3章准备工作
│ │ │ [2.3.3.1]--3-1使用ESLint添加代码规范.mp4
│ │ │ [2.3.3.2]--3-2深入ESLint配置文件.mp4
│ │ │ [2.3.3.3]--3-3小花絮:使用Prettier自动格式化代码.mp4
│ │ │ [2.3.3.4]--3-4项目结构规范.mp4
│ │ │ [2.3.3.5]--3-5了解GitFlow标准.mp4
│ │ │
│ │ ├─{4}--第4章全家桶之路由工具:vue-router
│ │ │ [2.3.4.1]--4-1安装ant-design-vue组件库.mp4
│ │ │ [2.3.4.2]--4-2使用ant-design-vue搭建页面框架.mp4
│ │ │ [2.3.4.3]--4-3SPA路由的基本原理.mp4
│ │ │ [2.3.4.4]--4-4添加配置VueRouter.mp4
│ │ │ [2.3.4.5]--4-5使用VueRouter钩子函数获取路由信息和跳转.mp4
│ │ │ [2.3.4.6]--4-6使用VueRouter元数据和嵌套路由解决不同模版结构.mp4
│ │ │
│ │ ├─{5}--第5章全家桶之状态管理工具:vuex
│ │ │ [2.3.5.1]--5-1什么是状态管理工具.mp4
│ │ │ [2.3.5.2]--5-2Vuex安装和基础使用.mp4
│ │ │ [2.3.5.3]--5-3Vuex结合整个应用.mp4
│ │ │ [2.3.5.4]--5-4Vuex添加mutations和getters.mp4
│ │ │ [2.3.5.5]--5-5使用Mosrcle分割Vuex模块.mp4
│ │ │
│ │ └─{6}--第6章本周总结
│ │ [2.3.6.1]--6-1本周总结.mp4
│ │
│ ├─{4}--编辑器基本布局,及业务组件库初步开发
│ │ ├─{1}--第1章本周导学
│ │ │ [2.4.1.1]--1-1本周导学.mp4
│ │ │
│ │ ├─{2}--第2章创建业务组件和编辑器基本行为
│ │ │ [2.4.2.1]--2-1将编辑器数据结构添加至vuexstore.mp4
│ │ │ [2.4.2.2]--2-2LText组件初步实现.mp4
│ │ │ [2.4.2.3]--2-3LText添加通用属性.mp4
│ │ │ [2.4.2.4]--2-4LText使用hooks重用逻辑.mp4
│ │ │ [2.4.2.5]--2-5完成点击模版列表添加到画布的行为.mp4
│ │ │ [2.4.2.6]--2-6为业务组件属性添加类型的利弊.mp4
│ │ │
│ │ ├─{3}--第3章实现组件实时更新
│ │ │ [2.4.3.1]--3-1获取正在编辑的元素的属性.mp4
│ │ │ [2.4.3.2]--3-2添加属性和表单的基础对应关系并展示.mp4
│ │ │ [2.4.3.3]--3-3添加更多简单对应关系并展示.mp4
│ │ │ [2.4.3.4]--3-4添加更多复杂对应关系并展示.mp4
│ │ │ [2.4.3.6]--3-6添加编辑表单并更新界面第一部分.mp4
│ │ │
│ │ ├─{4}--第4章改进字体下拉菜单
│ │ │ [2.4.4.1]--4-1提出优化需求,以及组件返回的真相.mp4
│ │ │ [2.4.4.2]--4-2将文本转换为vNode.mp4
│ │ │ [2.4.4.3]--4-3方案一:使用JSX重写PropsTable组件.mp4
│ │ │ [2.4.4.4]--4-4方案二:使用render函数实现桥梁.mp4
│ │ │
│ │ └─{5}--第5章本周总结
│ │ [2.4.5.1]--5-1本周重点内容回顾和总结.mp4
│ │
│ ├─{5}--掌握测试基本工具,给组件库添加单元测试
│ │ ├─{1}--第1章本周导学
│ │ │ [2.5.1.1]--1-1导学.mp4
│ │ │
│ │ ├─{2}--第2章测试简介以及Jest的使用
│ │ │ [2.5.2.1]--2-1为什么要有测试.mp4
│ │ │ [2.5.2.2]--2-2Jest简介.mp4
│ │ │ [2.5.2.3]--2-3Jest实现异步测试.mp4
│ │ │ [2.5.2.5]--2-5Jestmock第三方模块实现.mp4
│ │ │ [2.5.2.6]--2-6JestmockTimers.mp4
│ │ │
│ │ ├─{3}--第3章使用vue-test-utils测试组件
│ │ │ [2.5.3.1]--3-1配置测试开发环境.mp4
│ │ │ [2.5.3.2]--3-2测试组件:渲染和元素获取.mp4
│ │ │ [2.5.3.3]--3-3测试组件:触发事件,更新表单,验证事件.mp4
│ │ │ [2.5.3.4]--3-4测试组件:异步请求.mp4
│ │ │ [2.5.3.5]--3-5测试通用准备和清理.mp4
│ │ │
│ │ ├─{4}--第4章测试高级技巧
│ │ │ [2.5.4.1]--4-1测试中mock全局组件的实现.mp4
│ │ │ [2.5.4.2]--4-2模拟第三方库实现的三种”药方“-第一部分.mp4
│ │ │ [2.5.4.3]--4-3模拟第三方库实现的三种”药方“-第二部分.mp4
│ │ │ [2.5.4.4]--4-4单独测试Vuexstore.mp4
│ │ │
│ │ ├─{5}--第5章TDD开发方式
│ │ │ [2.5.5.1]--5-1什么是TDD的开发方式.mp4
│ │ │ [2.5.5.2]--5-2TDD第一步:编写测试用例.mp4
│ │ │ [2.5.5.3]--5-3TDD第二布:代码实现.mp4
│ │ │ [2.5.5.4]--5-4TDD第三步:和应用整合.mp4
│ │ │
│ │ └─{6}--第6章本周总结
│ │ [2.5.6.1]--6-1章重点内容回顾和总结.mp4
│ │
│ ├─{6}--通用上传组件开发以及使用
│ │ ├─{1}--第1章本周导学
│ │ │ [2.6.1.1]--1-1导学.mp4
│ │ │
│ │ ├─{2}--第2章需求和第一部分实现
│ │ │ [2.6.2.1]--2-1上传组件需求分析.mp4
│ │ │ [2.6.2.2]--2-2上传文件的原理.mp4
│ │ │ [2.6.2.3]--2-3万事开头难-编码基本流程.mp4
│ │ │ [2.6.2.4]--2-4上传基本流程的测试编写.mp4
│ │ │
│ │ ├─{3}--第3章TDD开发更多特性
│ │ │ [2.6.3.1]--3-1编写上传文件列表功能的测试用例.mp4
│ │ │ [2.6.3.2]--3-2根据测试实现上传文件列表功能.mp4
│ │ │ [2.6.3.3]--3-3编写自定义模版功能的测试用例.mp4
│ │ │ [2.6.3.4]--3-4根据测试完成自定义模版功能.mp4
│ │ │ [2.6.3.5]--3-5测试驱动开发-完成上传前检查的特性.mp4
│ │ │ [2.6.3.6]--3-6中期回顾完成情况和新的需求.mp4
│ │ │
│ │ ├─{4}--第4章上传组件,大功告成
│ │ │ [2.6.4.1]--4-1新的开发方式:添加拖动上传编码.mp4
│ │ │ [2.6.4.2]--4-2添加拖动上传测试.mp4
│ │ │ [2.6.4.3]--4-3使用流程图分析代码小的重构.mp4
│ │ │ [2.6.4.4]--4-4添加实例方法的编码和测试.mp4
│ │ │
│ │ ├─{5}--第5章更多思考和扩展知识
│ │ │ [2.6.5.1]--5-1Vue3世界中的三种实例.mp4
│ │ │ [2.6.5.2]--5-2Vue3中组件通信的四种方法.mp4
│ │ │ [2.6.5.3]--5-3ElementPlusUpload组件源码分析第一部分.mp4
│ │ │ [2.6.5.4]--5-4ElementPlusUpload组件源码分析第二部分.mp4
│ │ │ [2.6.5.5]--5-5本地图片预览的两种方式.mp4
│ │ │ [2.6.5.6]--5-6Jest浏览器环境之谜.mp4
│ │ │
│ │ ├─{6}--第6章在编辑器中使用上传组件
│ │ │ [2.6.6.1]--6-1将上传组件添加到左侧组件列表.mp4
│ │ │ [2.6.6.2]--6-2上传图片后将图片组件添加到编辑器.mp4
│ │ │ [2.6.6.3]--6-3扩展知识:Element类型家族之间的关系.mp4
│ │ │
│ │ └─{7}--第7章本周小结
│ │ [2.6.7.1]--7-1周总结.mp4
│ │
│ └─{7}--业务组件库打包、发布,添加CICD
│ ├─{1}--第1章本周导学
│ │ [2.7.1.1]--1-1周导学.mp4
│ │
│ ├─{2}--第2章Javascript模块以及打包工具简介
│ │ [2.7.2.1]--2-1Javascript模块化历史.mp4
│ │ [2.7.2.2]--2-2打包工具的根本作用.mp4
│ │ [2.7.2.3]--2-3Webpack对阵Rollup.mp4
│ │ [2.7.2.5]--2-5花絮-Snowpack另类打包工具简介.mp4
│ │
│ ├─{3}--第3章创建业务组件库代码
│ │ [2.7.3.1]--3-1创建组件库基本代码结构.mp4
│ │ [2.7.3.2]--3-2Vue插件系统简介.mp4
│ │ [2.7.3.3]--3-3创建入口文件.mp4
│ │
│ ├─{4}--第4章添加Rollup配置并完成打包
│ │ [2.7.4.1]--4-1Rollup配置文件和插件.mp4
│ │ [2.7.4.2]--4-2添加VuePlugin.mp4
│ │ [2.7.4.3]--4-3添加TypescriptPlugin.mp4
│ │ [2.7.4.4]--4-4尝试打包入口文件.mp4
│ │ [2.7.4.5]--4-5生成两种格式的模块文件.mp4
│ │ [2.7.4.6]--4-6使用npmlink本地测试组件库.mp4
│ │ [2.7.4.7]--4-7分析ElementPlus的打包过程.mp4
│ │ [2.7.4.8]--4-8扩展知识-Rollup插件开发的简单原理.mp4
│ │
│ ├─{5}--第5章发布到NPM并使用travisCI完成CICD
│ │ [2.7.5.1]--5-1npm简介和package.json的设置.mp4
│ │ [2.7.5.2]--5-2使用npmpublish发布业务组件库.mp4
│ │ [2.7.5.3]--5-3给业务组件库添加测试用例.mp4
│ │ [2.7.5.4]--5-4发布或者提交前检查代码质量和测试结果.mp4
│ │ [2.7.5.5]--5-5什么是CICD?.mp4
│ │ [2.7.5.7]--5-7进一步配置travis完成CD-自动发布到npm.mp4
│ │
│ └─{6}--第6章周总结
│ [2.7.6.1]--6-1周总结.mp4
│
├─{3}--阶段三:从0搭建编辑器服务端
│ ├─{1}--后端技术选型以及基础知识巩固
│ │ ├─{1}--第1章本周导学
│ │ │ [3.1.1.1]--1-1导学.mp4
│ │ │
│ │ ├─{2}--第2章接口分析以及后端框架选型
│ │ │ [3.1.2.1]--2-1接口分析.mp4
│ │ │ [3.1.2.3]--2-3技术选型express分析.mp4
│ │ │ [3.1.2.4]--2-4了解express中间件.mp4
│ │ │ [3.1.2.5]--2-5调研koa2以及它的基本特点.mp4
│ │ │ [3.1.2.6]--2-6koa2中间件机制.mp4
│ │ │ [3.1.2.7]--2-7后端框架选择egg.js.mp4
│ │ │
│ │ ├─{3}--第3章egg.js基础知识
│ │ │ [3.1.3.1]--3-1egg.js项目结构.mp4
│ │ │ [3.1.3.2]--3-2Controller第一部分:设置响应.mp4
│ │ │ [3.1.3.3]--3-3Controller第二部分:获取Request的参数.mp4
│ │ │ [3.1.3.4]--3-4Postman安装以及使用.mp4
│ │ │ [3.1.3.5]--3-5Service发送HTTP请求获取信息.mp4
│ │ │
│ │ ├─{4}--第4章egg.js基础知识-中间件,配置,扩展
│ │ │ [3.1.4.10]--4-10eggjs日志的概念以及分类.mp4
│ │ │ [3.1.4.1]--4-1Middleware中间件第一部分.mp4
│ │ │ [3.1.4.2]--4-2Middleware中间件第二部分.mp4
│ │ │ [3.1.4.3]--4-3Config配置文件第一部.mp4
│ │ │ [3.1.4.4]--4-4Config配置文件第二部分.mp4
│ │ │ [3.1.4.5]--4-5Extend扩展第一部分.mp4
│ │ │ [3.1.4.6]--4-6Extend扩展第二部分.mp4
│ │ │ [3.1.4.7]--4-7启动自定义.mp4
│ │ │ [3.1.4.8]--4-8eggtypescript支持的原理.mp4
│ │ │ [3.1.4.9]--4-9eggjs调试技巧.mp4
│ │ │
│ │ ├─{5}--第5章数据库选型以及mongoDB基本操作
│ │ │ [3.1.5.1]--5-1非关系数据库对阵关系型数据库.mp4
│ │ │ [3.1.5.2]--5-2mongoDB安装第一部分:下载运行.mp4
│ │ │ [3.1.5.3]--5-3mongoDB安装第二部分:添加到全局命令.mp4
│ │ │ [3.1.5.4]--5-4mongod使用配置文件.mp4
│ │ │ [3.1.5.6]--5-6mongoDBGUI软件推荐使用.mp4
│ │ │
│ │ ├─{6}--第6章nodejsMongoDB操作
│ │ │ [3.1.6.1]--6-1nodejs连接mongodb数据库.mp4
│ │ │ [3.1.6.2]--6-2插入和简单查询.mp4
│ │ │ [3.1.6.3]--6-3mongoDB查询操作符.mp4
│ │ │ [3.1.6.4]--6-4mongoDB整体结果的处理.mp4
│ │ │ [3.1.6.5]--6-5更新文档第一部分.mp4
│ │ │ [3.1.6.6]--6-6更新文档第二部分:更新数组内容.mp4
│ │ │ [3.1.6.7]--6-7按照数组内容查询并更新.mp4
│ │ │ [3.1.6.8]--6-8mongoDBNodejs语法小节.mp4
│ │ │
│ │ ├─{7}--第7章MongoDB高级内容
│ │ │ [3.1.7.1]--7-1mongoDB索引的定义和测试.mp4
│ │ │ [3.1.7.2]--7-2mongoDB索引管理.mp4
│ │ │ [3.1.7.3]--7-3mongoDB不同集合的数据关系.mp4
│ │ │ [3.1.7.4]--7-4聚合的概念和基本用法.mp4
│ │ │ [3.1.7.5]--7-5使用$lookup完成多集合查询.mp4
│ │ │ &n联系v:zhanxzhanxbsp;[3.1.7.6]--7-6MongoDB数据库设计原则以及最佳实践.mp4
│ │ │ [3.1.7.7]--7-7完成应用数据库设计.mp4
│ │ │
│ │ ├─{8}--第8章添加mongoose以及egg.js插件原理
│ │ │ [3.1.8.1]--8-1什么是mongoose以及ORMODM的概念.mp4
│ │ │ [3.1.8.2]--8-2mongoose基本语法.mp4
│ │ │ [3.1.8.3]--8-3egg.js结合mongoose.mp4
│ │ │ [3.1.8.4]--8-4将models自动加载到app对象.mp4
│ │ │ [3.1.8.5]--8-5将逻辑抽象编写为egg插件.mp4
│ │ │ [3.1.8.6]--8-6egg-mongoose源代码解读.mp4
│ │ │
│ │ └─{9}--第9章周总结
│ │ [3.1.9.1]--9-114周总结.mp4
│ │
│ ├─{2}--用户系统设计与实现
│ │ ├─{1}--第1章导学
│ │ │ [3.2.1.1]--1-2本周导学.mp4
│ │ │
│ │ ├─{2}--第2章用户数据模型,创建接口以及验证功能开发
│ │ │ [3.2.2.1]--2-1定义UserModel.mp4
│ │ │ [3.2.2.2]--2-2实现创建用户的最基本功能.mp4
│ │ │ [3.2.2.3]--2-3改进Model的ts类型支持.mp4
│ │ │ [3.2.2.4]--2-4使用egg-validate验证参数.mp4
│ │ │ [3.2.2.5]--2-5规范化错误信息和错误码.mp4
│ │ │
│ │ ├─{3}--第3章加密方式选型以及返回结果的特殊处理
│ │ │ [3.2.3.1]--3-1加密选择方案简介.mp4
│ │ │ [3.2.3.2]--3-2将bcrypt添加到应用并完成密码加密和登录解密.mp4
│ │ │ [3.2.3.3]--3-3使用toJSON和transform处理文档结果.mp4
│ │ │ [3.2.3.4]--3-4使用mongoose-sequence插件完成ID自增.mp4
│ │ │
│ │ ├─{4}--第4章使用egg-session实现用户验证
│ │ │ [3.2.4.1]--4-1Cookie基础知识回顾以及加深.mp4
│ │ │ [3.2.4.2]--4-2使用egg.js设置对应的Cookie.mp4
│ │ │ [3.2.4.3]--4-3使用egg-session实现用户验证功能.mp4
│ │ │ [3.2.4.4]--4-4koasession源代码分析第一部分.mp4
│ │ │ [3.2.4.5]--4-5koasession源代码分析第二部分.mp4
│ │ │ [3.2.4.6]--4-6eggsession使用外部存储器.mp4
│ │ │ [3.2.4.7]--4-7总结egg-session的优缺点.mp4
│ │ │
│ │ ├─{5}--第5章使用JWT完成用户验证
│ │ │ [3.2.5.1]--5-1简介JWT以及优缺点.mp4
│ │ │ [3.2.5.2]--5-2使用JWT完成登录验证工作.mp4
│ │ │ [3.2.5.3]--5-3使用中间件实现JWTtoken验证.mp4
│ │ │ [3.2.5.4]--5-4使用egg-jwt插件以及它内部的原理.mp4
│ │ │
│ │ ├─{6}--第6章使用手机号登录完成用户创建以及验证功能
│ │ │ [3.2.6.1]--6-1手机验证码登录基本流程分析.mp4
│ │ │ [3.2.6.2]--6-2手动编译安装redis.mp4
│ │ │ [3.2.6.3]--6-3使用redis-cli进行基本操作.mp4
│ │ │ [3.2.6.4]--6-4学习使用ioredis进行redis操作.mp4
│ │ │ [3.2.6.5]--6-5发送验证码过程编码.mp4
│ │ │ [3.2.6.6]--6-6完成手机登录编码.mp4
│ │ │ [3.2.6.7]--6-7短信云服务调研.mp4
│ │ │ [3.2.6.8]--6-8使用阿里云发送短信.mp4
│ │ │ [3.2.6.9]--6-9使用.env文件保存敏感信息.mp4
│ │ │
│ │ ├─{7}--第7章使用Oauth2协议完成用户创建以及验证功能
│ │ │ [3.2.7.1]--7-1介绍Oauth2的概念和基本流程.mp4
│ │ │ [3.2.7.2]--7-2实现Oauth编码第一部分:获取accesstoken-.mp4
│ │ │ [3.2.7.3]--7-3实现Oauth编码第二部分:创建用户.mp4
│ │ │ [3.2.7.4]--7-4前后端分离实现oauth登录的思路.mp4
│ │ │ [3.2.7.5]--7-5实现前后端分离的oatuh登录功能.mp4
│ │ │ [3.2.7.6]--7-6使用CORS支持跨域.mp4
│ │ │
│ │ ├─{8}--第8章编写作品相关代码以及学习装饰器的使用
│ │ │ [3.2.8.1]--8-1创建WorkModel.mp4
│ │ │ [3.2.8.2]--8-2创建作品过程编码.mp4
│ │ │ [3.2.8.3]--8-3装饰器的概念.mp4
│ │ │ [3.2.8.4]--8-4装饰器基础知识学习.mp4
│ │ │ [3.2.8.5]--8-5使用装饰器完成用户输入验证.mp4
│ │ │ [3.2.8.6]--8-6确定查询条件的类型.mp4
│ │ │ [3.2.8.7]--8-7实现作品列表查询.mp4
│ │ │ [3.2.8.8]--8-8编写更新以及删除的接口.mp4
│ │ │ [3.2.8.9]--8-9编写验证权限装饰器以及发布作品接口.mp4
│ │ │
│ │ └─{9}--第9章总结
│ │ [3.2.9.1]--9-1周总结.mp4
│ │
│ ├─{3}--文件上传(本地+OSS云服务)
│ │ ├─{1}--第1章本周导学
│ │ │ [3.3.1.1]--1-1第十六周导学.mp4
│ │ │
│ │ ├─{2}--第2章文件上传基本原理实现以及使用Sharp完成图片处理
│ │ │ [3.3.2.1]--2-1文件上传的原理再次分析.mp4
│ │ │ [3.3.2.2]--2-2File模式上传并且支持服务器直接访问.mp4
│ │ │ [3.3.2.3]--2-3图片处理库Sharp简介.mp4
│ │ │ [3.3.2.4]--2-4使用sharp生成缩略图并保存.mp4
│ │ │
│ │ ├─{3}--第3章学习并且使用Stream模式完成文件上传
│ │ │ [3.3.3.1]--3-1流的基本概念和举例.mp4
│ │ │ [3.3.3.2]--3-2Stream的基本特性编码.mp4
│ │ │ [3.3.3.3]--3-3使用stream模式完成图片上传以及缩略图生成.mp4
│ │ │ [3.3.3.4]--3-4高级知识:使用pipeline替换pipe方法.mp4
│ │ │
│ │ ├─{4}--第4章用OSS完成文件上传及使用Busboy完成多文件上传
│ │ │ [3.3.4.1]--4-1对象存储调研报告.mp4
│ │ │ [3.3.4.2]--4-2配置阿里云oss.mp4
│ │ │ [3.3.4.3]--4-3上传单文件到阿里云OSS.mp4
│ │ │ [3.3.4.4]--4-4学习底层库Busboy的用法.mp4
│ │ │ [3.3.4.5]--4-5使用co-busboy完成多文件上传的需求.mp4
│ │ │ [3.3.4.6]--4-6egg-mutilpart源代码解析.mp4
│ │ │ [3.3.4.7]--4-7限制上传图片大小以及格式.mp4
│ │ │ [3.3.4.8]--4-8重构Router:添加Prefix和简单的权限验证更新.mp4
│ │ │
│ │ ├─{5}--第5章使用SSR的方式渲染H5页面
│ │ │ [3.3.5.1]--5-1简介SSR的概念和特点.mp4
│ │ │ [3.3.5.2]--5-2学习vueSSR的基本用法.mp4
│ │ │ [3.3.5.3]--5-3使用lego-components渲染对应的H5页面.mp4
│ │ │ [3.3.5.4]--5-4添加body样式.mp4
│ │ │ [3.3.5.5]--5-5px转换成vw.mp4
│ │ │
│ │ ├─{6}--第6章使用Webpack处理静态文件以及模版
│ │ │ [3.3.6.1]--6-1使用webpack的解决对应的引用第三方库的问题.mp4
│ │ │ [3.3.6.2]--6-2配置webpack生成对应的结果.mp4
│ │ │ [3.3.6.3]--6-3拷贝和清理webpack生成的文件.mp4
│ │ │ [3.3.6.4]--6-4上传生成的静态文件到OSS.mp4
│ │ │ [3.3.6.5]--6-5完成webpack结合上传文件到OSS的功能.mp4
│ │ │
│ │ ├─{7}--第7章RBAC的基本概念以及学习CASL的基础知识
│ │ │ [3.3.7.1]--7-1创建展示渠道.mp4
│ │ │ [3.3.7.2]--7-2渠道的更新以及删除.mp4
│ │ │ [3.3.7.3]--7-3RBAC概念简介以及选择Node.js第三方库.mp4
│ │ │ [3.3.7.4]--7-4CASL初步学习.mp4
│ │ │ [3.3.7.5]--7-5CASL学习第二部分-添加角色.mp4
│ │ │ [3.3.7.6]--7-6CASL学习第三部分-管理属性权限.mp4
│ │ │
│ │ ├─{8}--第8章CASL结合装饰器完成角色权限管理
│ │ │ [3.3.8.1]--8-1添加对应的角色模型.mp4
│ │ │ [3.3.8.2]--8-2添加角色判断到装饰器第一部分:基本验证.mp4
│ │ │ [3.3.8.3]--8-3添加角色判断到装饰器第二部分:验证字段.mp4
│ │ │ [3.3.8.4]--8-4添加角色判断到装饰器第三部分:自定义action.mp4
│ │ │ [3.3.8.5]--8-5添加角色判断到装饰器第四部分:自定义query.mp4
│ │ │
│ │ └─{9}--第9章本周总结
│ │ [3.3.9.1]--9-1第十六周总结.mp4
│ │
│ └─{4}--部署以及CICD
│ ├─{1}--第1章本周导学
│ │ [3.4.1.1]--1-1导学.mp4
│ │
│ ├─{2}--第2章使用传统部署模式
│ │ [3.4.2.10]--2-10在服务器部署并且运行.mp4
│ │ [3.4.2.11]--2-11本章总结以及提出问题.mp4
│ │ [3.4.2.1]--2-1本地环境和生产环境的异同.mp4
│ │ [3.4.2.2]--2-2Node.jsCluster模式.mp4
│ │ [3.4.2.3]--2-3Node.jsCluster压力测试对比结果.mp4
│ │ [3.4.2.4]--2-4Cluster进程间的通信.mp4
│ │ [3.4.2.5]--2-5Egg.js启动的不同进程的分类以及特点.mp4
│ │ [3.4.2.6]--2-6云服务器设置以及登录最佳实践.mp4
│ │ [3.4.2.7]--2-7使用SSHkey进行免密码登录.mp4
│ │ [3.4.2.8]--2-8linux安装必备软件.mp4
│ │ [3.4.2.9]--2-9修改生产环境的配置.mp4
│ │
│ ├─{3}--第3章Docker基础知识学习
│ │ [3.4.3.1]--3-1Docker简介以及安装.mp4
│ │ [3.4.3.2]--3-2dockerimages镜像操作.mp4
│ │ [3.4.3.3]--3-3Docker容器的基本概念.mp4
│ │ [3.4.3.4]--3-4Docker容器持久化数据.mp4
│ │ [3.4.3.5]--3-5使用Dockerfile构建镜像.mp4
│ │ [3.4.3.6]--3-6使用Dockerfile构建并且运行lego-backen.mp4
│ │ [3.4.3.7]--3-7Docker多个容器互相通信.mp4
│ │
│ ├─{4}--第4章使用Docker-compose管理多个服务
│ │ [3.4.4.1]--4-1使用docker-compose启动服务.mp4
│ │ [3.4.4.2]--4-2mongoDB设置访问权限.mp4
│ │ [3.4.4.3]--4-3mongoDB权限验证第二部分.mp4
│ │ [3.4.4.4]--4-4Docker初始化MongoDB数据库操作.mp4
│ │ [3.4.4.5]--4-5使用.env保存docker中的敏感信息.mp4
│ │ [3.4.4.6]--4-6向docker-compose添加redis服务并测试.mp4
│ │ [3.4.4.7]--4-7DockerBuild优化镜像大小.mp4
│ │ [3.4.4.8]--4-8DockerBuild提高构建速度.mp4
│ │ [3.4.4.9]--4-9在服务器上运行对应的docker容器.mp4
│ │
│ ├─{5}--第5章学习GithubActions的基础知识
│ │ [3.4.5.1]--5-1重学YAML语法.mp4
│ │ [3.4.5.2]--5-2GithubActions简介和初步使用.mp4
│ │ [3.4.5.3]--5-3学习GithubActions的进阶知识.mp4
│ │ [3.4.5.4]--5-4学习使用GithubSecrets.mp4
│ │
│ ├─{6}--第6章GithubActions结合Docker自动部署
│ │ [3.4.6.1]--6-1优化线上部署流程分析.mp4
│ │ [3.4.6.2]--6-2推送镜像到阿里云ACR并测试.mp4
│ │ [3.4.6.3]--6-3使用GithubActionsBuild和Push镜像到A.mp4
│ │ [3.4.6.4]--6-4自动部署应用到服务器第一部分.mp4
│ │ [3.4.6.5]--6-5自动部署应用到服务器第二部分.mp4
│ │ [3.4.6.6]--6-6在actions中获取提交的基本信息.mp4
│ │ [3.4.6.7]--6-7整合流程,完成自动部署以及回滚.mp4
│ │ [3.4.6.8]--6-8使用release-it精简发布流程.mp4
│ │
│ └─{7}--第7章周总结
│ [3.4.7.1]--7-1第十七周总结.mp4
│
├─{4}--阶段四:完善B端所有功能,前后端结合和性能优化
│ ├─{1}--编辑器组件图层面板功能开发
│ │ ├─{1}--第1章周介绍
│ │ │ [4.1.1.1]--1-1第十八周前言.mp4
│ │ │
│ │ ├─{2}--第2章使用Cropper.js完成图像裁剪功能
│ │ │ [4.1.2.1]--2-1知识回顾.mp4
│ │ │ [4.1.2.2]--2-2选择CropperJS作为图片裁剪库.mp4
│ │ │ [4.1.2.3]--2-3初始化Cropper区域.mp4
│ │ │ [4.1.2.4]--2-4使用阿里云OSS完成图片裁剪功能.mp4
│ │ │ [4.1.2.5]--2-5使用Cropper.js获取裁剪图片数据.mp4
│ │ │ [4.1.2.6]--2-6方法二:完成裁剪后重新上传图片.mp4
│ │ │
│ │ ├─{3}--第3章完成图层列表初步功能的开发
│ │ │ [4.1.3.1]--3-1分析图层设置的需求和实现.mp4
│ │ │ [4.1.3.2]--3-2图层列表设置锁定和隐藏.mp4
│ │ │ [4.1.3.3]--3-3InlineEdit书写测试用例以及初步功能开发.mp4
│ │ │ [4.1.3.4]--3-4添加键盘响应钩子函数.mp4
│ │ │ [4.1.3.5]--3-5添加useClickOutside.mp4
│ │ │ [4.1.3.6]--3-6在界面上测试并且改进InlineEdit组件.mp4
│ │ │
│ │ ├─{4}--第4章图层拖动排序功能的开发
│ │ │ [4.1.4.1]--4-1拖动排序列表的需求分析.mp4
│ │ │ [4.1.4.2]--4-2拖拽排序第一部分添加拖动事件.mp4
│ │ │ [4.1.4.3]--4-3拖拽排序第二部分添加drop时排序.mp4
│ │ │ [4.1.4.4]--4-4拖动排序第三部分在拖动时完成排序.mp4
│ │ │ [4.1.4.5]--4-5使用VueDraggableNext完成排序.mp4
│ │ │
│ │ ├─{5}--第5章EditGroup属性分组组件开发
│ │ │ [4.1.5.1]--5-1EditGroup需求分析.mp4
│ │ │ [4.1.5.2]--5-2EditGroup编码第一部分.mp4
│ │ │ [4.1.5.3]--5-3EditGroup编码第二部分:数据转换成界面.mp4
│ │ │
│ │ ├─{6}--第6章页面设置面板编码
│ │ │ [4.1.6.1]--6-1页面设置编码第一部分.mp4
│ │ │ [4.1.6.2]--6-2BackgroundProcesser组件编码第一部分.mp4
│ │ │ [4.1.6.3]--6-3使用正则获取文件名称.mp4
│ │ │ [4.1.6.4]--6-4页面设置完成更新背景图片逻辑.mp4
│ │ │
│ │ └─{7}--第7章周总结
│ │ [4.1.7.1]--7-1第十八周总结.mp4
│ │
│ ├─{2}--让元素动起来-编辑器画布交互功能开发
│ │ ├─{1}--第1章周介绍
│ │ │ [4.2.1.1]--1-1十九周导学.mp4
│ │ │
│ │ ├─{2}--第2章拖动移动元素的实现
│ │ │ [4.2.2.1]--2-1拖动移动元素的原理分析.mp4
│ │ │ [4.2.2.2]--2-2拖动移动元素第一部分:计算偏移量.mp4
│ │ │ [4.2.2.3]--2-3拖动移动第二部分:实现元素移动.mp4
│ │ │ [4.2.2.4]--2-4拖动移动第三部分:更新元素属性.mp4
│ │ │
│ │ ├─{3}--第3章拖动改变元素大小的实现
│ │ │ [4.2.3.1]--3-1拖动改变大小的原理.mp4
│ │ │ [4.2.3.2]--3-2拖动改变大小第一部分:实现右下方拖拽大小.mp4
│ │ │ [4.2.3.3]--3-3拖拽改变大小编码第二部分:实现四个角拖拽大小.mp4
│ │ │ [4.2.3.4]--3-4拖动改变大小编码第三部分:发射事件更新属性.mp4
│ │ │
│ │ ├─{4}--第4章快捷键操作的实现
│ │ │ [4.2.4.1]--4-1快捷键需求分析.mp4
│ │ │ [4.2.4.2]--4-2快捷键编码第一部分:创建useHotKeys.mp4
│ │ │ [4.2.4.3]--4-3快捷键编码第二部分:添加muations完成操作.mp4
│ │ │ [4.2.4.4]--4-4快捷键编码第三部分:添加移动元素的快捷键.mp4
│ │ │ [4.2.4.5]--4-5快捷键编码第四部分:添加高级函数阻止默认行为.mp4
│ │ │ [4.2.4.6]--4-6尽善尽美补充新的mutations的测试.mp4
│ │ │
│ │ ├─{5}--第5章撤销重做的实现
│ │ │ [4.2.5.10]--5-10撤销重做小结以及剩下的改进.mp4
│ │ │ [4.2.5.1]--5-1撤销重做需求分析.mp4
│ │ │ [4.2.5.2]--5-2撤销重做编码第一部分:添加历史记录.mp4
│ │ │ [4.2.5.3]--5-3撤销重做编码第二部分:根据不同情况添加处理.mp4
│ │ │ [4.2.5.4]--5-4撤销重做编码第三部分:根据当前情况添加测试.mp4
│ │ │ [4.2.5.5]--5-5中期界面测试以及发现需要改进的点.mp4
│ │ │ [4.2.5.6]--5-6进阶:撤销重做支持一次处理多个数据.mp4
│ │ │ [4.2.5.7]--5-7进阶:撤销重做支持一次处理多个数据第二部分.mp4
│ │ │ [4.2.5.8]--5-8进阶:撤销重做支持函数防抖.mp4
│ │ │ [4.2.5.9]--5-9进阶:撤销重做支持最大历史条目数.mp4
│ │ │
│ │ ├─{6}--第6章右键菜单的实现
│ │ │ [4.2.6.1]--6-1右键菜单需求分析.mp4
│ │ │ [4.2.6.2]--6-2右键菜单编码第一部分:添加右键菜单组件.mp4
│ │ │ [4.2.6.3]--6-3右键菜单第二部分:函数式的创建组件.mp4
│ │ │ [4.2.6.4]--6-4右键菜单第三部分:插件化右键菜单.mp4
│ │ │ [4.2.6.5]--6-5右键菜单第四部分:删除组件实例的方法.mp4
│ │ │
│ │ └─{7}--第7章周总结
│ │ [4.2.7.1]--7-1十九周总结.mp4
│ │
│ ├─{3}--前后端结合-编辑器整合后端接口
│ │ ├─{1}--第1章周介绍
│ │ │ [4.3.1.1]--1-1第二十周导学.mp4
│ │ │
│ │ ├─{2}--第2章接口分析和简介
│ │ │ [4.3.2.1]--2-1前后端分离开发简介.mp4
│ │ │ [4.3.2.2]--2-2分析后端接口和需求.mp4
│ │ │ [4.3.2.3]--2-3使用vuexaction发送请求.mp4
│ │ │
│ │ ├─{3}--第3章MockServer的使用以及个性化
│ │ │ [4.3.3.1]--3-1JSONserver的简介和安装使用.mp4
│ │ │ [4.3.3.2]--3-2JSONserver自定义接口URL和返回数据结构.mp4
│ │ │ [4.3.3.3]--3-3JSONServer实现JWT验证-生成token.mp4
│ │ │ [4.3.3.4]--3-4JSONServer实现JWT验证-实现路由保护.mp4
│ │ │
│ │ ├─{4}--第4章登陆表单验证和登陆
│ │ │ [4.3.4.1]--4-1使用AForm完成表单验证.mp4
│ │ │ [4.3.4.2]--4-2使用AForm完成提交时验证的两种方法.mp4
│ │ │ [4.3.4.3]--4-3完成获取验证码的功能.mp4
│ │ │ [4.3.4.4]--4-4完成用户登陆过程.mp4
│ │ │ [4.3.4.5]--4-5使用高阶函数actionWrapper包装action通用.mp4
│ │ │ [4.3.4.6]--4-6AForm源代码解析:Form组件和FormItem完成验.mp4
│ │ │ [4.3.4.7]--4-7AForm源代码解析:使用useForm完成验证.mp4
│ │ │
│ │ ├─{5}--第5章全局通用状态添加以及权限验证
│ │ │ [4.3.5.1]--5-1添加全局读取状态-整体通用读取状态.mp4
│ │ │ [4.3.5.2]--5-2添加全局读取状态-细粒度读取状态.mp4
│ │ │ [4.3.5.3]--5-3处理全局错误处理.mp4
│ │ │ [4.3.5.4]--5-4将全局读取和错误添加至根组件.mp4
│ │ │ [4.3.5.5]--5-5登陆状态持久化.mp4
│ │ │ [4.3.5.6]--5-6路由权限验证第一部分-功能分析.mp4
│ │ │ [4.3.5.7]--5-7路由权限验证第二部分-编码实现.mp4
│ │ │
│ │ └─{6}--第6章编辑器数据获取以及保存作品
│ │ [4.3.6.1]--6-1编辑器获取作品第一部分-发送并且改进action.mp4
│ │ [4.3.6.2]--6-2编辑器获取作品第二部分-根据数据渲染至画布.mp4
│ │ [4.3.6.3]--6-3添加编辑器Header.mp4
│ │ [4.3.6.4]--6-4保存作品数据.mp4
│ │ [4.3.6.5]--6-5添加自动保存功能.mp4
│ │ [4.3.6.6]--6-6跳转路由前提示保存.mp4
│ │ [4.3.6.7]--6-7提取和整合保存作品逻辑.mp4
│ │
│ ├─{4}--整合开发B端其他页面的各种功能
│ │ ├─{1}--第1章周介绍
│ │ │ [4.4.1.1]--1-1周前言.mp4
│ │ │
│ │ ├─{2}--第2章使用HTML2Canvas完成编辑器画布截图
│ │ │ [4.4.2.1]--2-1发布作品需求分析.mp4
│ │ │ [4.4.2.2]--2-2前后端分离开发简介.mp4
│ │ │ [4.4.2.3]--2-3html2canvas获取截图.mp4
│ │ │ [4.4.2.4]--2-4html2canvas踩坑修正bug.mp4
│ │ │ [4.4.2.5]--2-5完成截图并且上传文件.mp4
│ │ │ [4.4.2.6]--2-6html2canvas的基本原理.mp4
│ │ │ [4.4.2.7]--2-7html2canvas原理简单编码实现.mp4
│ │ │
│ │ ├─{3}--第3章发布作品的开发流程
│ │ │ [4.4.3.1]--3-1完成发布流程.mp4
│ │ │ [4.4.3.2]--3-2发布后创建渠道.mp4
│ │ │ [4.4.3.3]--3-3添加usePublishWork.mp4
│ │ │
│ │ ├─{4}--第4章渠道的编辑以及二维码的操作
│ │ │ [4.4.4.1]--4-1创建和删除渠道.mp4
│ │ │ [4.4.4.2]--4-2使用qrcode将渠道链接生成二维码.mp4
│ │ │ [4.4.4.3]--4-3watch数组的陷阱:新添加的渠道生成二维码.mp4
│ │ │
│ │ ├─{5}--第5章Clipboard.js完成拷贝文本到剪贴板及其原理
│ │ │ [4.4.5.1]--5-1使用Clipboard.js实现内容的拷贝.mp4
│ │ │ [4.4.5.2]--5-2拷贝文本的原理.mp4
│ │ │ [4.4.5.3]--5-3完成copyToClipBoard编码.mp4
│ │ │ [4.4.5.4]--5-4PreviewForm预览组件第一部分.mp4
│ │ │ [4.4.5.5]--5-5PreviewForm预览组件第二部分.mp4
│ │ │
│ │ ├─{6}--第6章useLoadMore开发贯穿剩余页面的开发
│ │ │ [4.4.6.1]--6-1剩余页面需求分析.mp4
│ │ │ [4.4.6.2]--6-2useLoadMore编码第一部分:改造actionWra.mp4
│ │ │ [4.4.6.3]--6-3useLoadMore编码第二部分:实现基本功能.mp4
│ │ │ [4.4.6.4]--6-4useLoadMore编码第三部分-页面实践以及支持无限滚.mp4
│ │ │ [4.4.6.5]--6-5useLoadMore编码第四部分-创建我的作品页以及发现.mp4
│ │ │ [4.4.6.6]--6-6useLoadMore编码第五部分-数据驱动界面,改造成分.mp4
│ │ │
│ │ ├─{7}--第7章前端下载文件的原理
│ │ │ [4.4.7.1]--7-1下载图片原理编码第一部分.mp4
│ │ │ [4.4.7.2]--7-2下载文件原理编码第二部分.mp4
│ │ │ [4.4.7.3]--7-3使用FileSaver.js来完成图片的下载.mp4
│ │ │ [4.4.7.4]--7-4FileSaver.js源码解析.mp4
│ │ │
│ │ └─{8}--第8章周总结
│ │ [4.4.8.1]--8-1周总结.mp4
│ │
│ └─{5}--大型项目的编译,部署以及性能优化
│ ├─{1}--第1章周介绍
│ │ [4.5.1.1]--1-1第22周前言.mp4
│ │
│ ├─{2}--第2章使用VueCli编译生产环境代码以及创建不同模式
│ │ [4.5.2.1]--2-1开发,预生产,生产环境的概念.mp4
│ │ [4.5.2.2]--2-2使用vuecli生成生产环境代码.mp4
│ │ [4.5.2.3]--2-3VueCLI中模式的概念以及简单使用.mp4
│ │ [4.5.2.4]--2-4使用环境变量文件第一部分.mp4
│ │ [4.5.2.5]--2-5环境变量设置第二部分创建预发布环境变量文件.mp4
│ │
│ ├─{3}--第3章Webpack的基础回顾以及Loader和Plugin的原
│ │ [4.5.3.1]--3-1Webpack基本概念回顾.mp4
│ │ [4.5.3.2]--3-2动手写一个WebpackLoader第一部分.mp4
│ │ [4.5.3.3]--3-3动手写一个WebpackLoader第二部分.mp4
│ │ [4.5.3.4]--3-4动手写一个Webpackplugins第一部分.mp4
│ │ [4.5.3.5]--3-5动手写一个Webpackplugins第二部分.mp4
│ │
│ ├─{4}--第4章修改Vue.config.js配置完成打包分析和优化
│ │ [4.5.4.1]--4-1vue.config.js简介.mp4
│ │ [4.5.4.2]--4-2安装webpack-bundle-analyzer插件.mp4
│ │ [4.5.4.3]--4-3webpack打包优化第一部分:移除不需要的第三方库.mp4
│ │ [4.5.4.4]--4-4webpack打包优化第二部分:按需加载ant-desig.mp4
│ │ [4.5.4.5]--4-5webpack打包优化第三部分:分析第三方库继续优化的方案.mp4
│ │ [4.5.4.6]--4-6手动分割第三方库成多个文件.mp4
│ │ [4.5.4.7]--4-7按照模块大小自动分割第三方库.mp4
│ │ [4.5.4.8]--4-8实现路由懒加载.mp4
│ │ [4.5.4.9]--4-9使用chainWebpack修改webpack已有配置.mp4
│ │
│ ├─{5}--第5章部署以及HTTP优化
│ │ [4.5.5.1]--5-1部署的概念.mp4
│ │ [4.5.5.2]--5-2nginx安装和简单配置.mp4
│ │ [4.5.5.3]--5-3HTTP缓存设置第一部分:Expires和Cache-Co.mp4
│ │ [4.5.5.4]--5-4HTTP缓存设置第二部分:Etag和Last-Modifi.mp4
│ │ [4.5.5.5]--5-5使用gzip压缩对应的HTTP请求资源.mp4
│ │ [4.5.5.6]--5-6使用Brotli完成HTTP压缩优化.mp4
│ │ [4.5.5.7]--5-7直接生成压缩静态文件并配置nginx的gzip_stati.mp4
│ │ [4.5.5.8]--5-8使用keep-alive减少多次TCP连接.mp4
│ │ [4.5.5.9]--5-9使用HTTP2大幅提升加载速度.mp4
│ │
│ └─{6}--第6章周总结
│ [4.5.6.1]--6-1第22周总结.mp4
│
├─{5}--阶段五:完善服务端,发布上线
│ ├─{1}--脚手架功能升级-上手大厂开发模式
│ │ ├─{1}--第1章周介绍
│ │ │ [5.1.1.1]--1-1本周整体内容介绍和学习方法.mp4
│ │ │
│ │ ├─{2}--第2章大厂代码复用最佳实践
│ │ │ [5.1.2.1]--2-1代码复用考核方法和计算公式.mp4
│ │ │ [5.1.2.2]--2-2大厂在代码复用问题背后的思考.mp4
│ │ │ [5.1.2.3]--2-3大厂代码复用最佳实践和思考路径1.mp4
│ │ │ [5.1.2.4]--2-4大厂代码复用最佳实践和思考路径2.mp4
│ │ │ [5.1.2.5]--2-5大厂代码复用最佳实践和思考路径3.mp4
│ │ │ [5.1.2.6]--2-6代码复用流程介绍.mp4
│ │ │
│ │ ├─{3}--第3章脚手架add命令+页面模板选择功能开发
│ │ │ [5.1.3.1]--3-1创建新的脚手架命令add1.mp4
│ │ │ [5.1.3.2]--3-2创建新的脚手架命令add2.mp4
│ │ │ [5.1.3.3]--3-3创建新的脚手架命令add3.mp4
│ │ │ [5.1.3.4]--3-4安装页面模板整体流程+页面模板开发1.mp4
│ │ │ [5.1.3.5]--3-5安装页面模板整体流程+页面模板开发2.mp4
│ │ │ [5.1.3.6]--3-6安装页面模板整体流程+页面模板开发3.mp4
│ │ │ [5.1.3.7]--3-7页面模板选择功能开发.mp4
│ │ │ [5.1.3.8]--3-8输入页面名称功能开发.mp4
│ │ │
│ │ ├─{4}--第4章页面模板安装功能开发
│ │ │ [5.1.4.1]--4-1页面模板下载和更新功能开发.mp4
│ │ │ [5.1.4.2]--4-2页面模板下载提示文案+下载结果校验.mp4
│ │ │ [5.1.4.3]--4-3页面模板安装预检查功能开发.mp4
│ │ │ [5.1.4.4]--4-4页面模板安装流程开发.mp4
│ │ │
│ │ ├─{5}--第5章页面模板ejs渲染+依赖合并功能开发
│ │ │ [5.1.5.1]--5-1页面模板ejs能力支持.mp4
│ │ │ [5.1.5.2]--5-2ejs渲染逻辑实现.mp4
│ │ │ [5.1.5.3]--5-3页面模板核心功能:依赖合并功能设计.mp4
│ │ │ [5.1.5.4]--5-4依赖合并算法之获取package.json+depende.mp4
│ │ │ [5.1.5.5]--5-5依赖合并算法之核心diff算法实现.mp4
│ │ │ [5.1.5.6]--5-6依赖合并结果调试和项目实测.mp4
│ │ │ [5.1.5.7]--5-7页面模板依赖自动安装功能实现.mp4
│ │ │ [5.1.5.8]--5-8包含element-ui组件库的页面模板开发.mp4
│ │ │ [5.1.5.9]--5-9依赖冲突场景处理.mp4
│ │ │
│ │ └─{6}--第6章本周总结+作业
│ │ [5.1.6.1]--6-1本周课程总结和作业.mp4
│ │
│ ├─{2}--脚手架功能升级-代码复用能力开发
│ │ ├─{1}--第1章周简介
│ │ │ [5.2.1.1]--1-1本周整体内容介绍和学习方法.mp4
│ │ │
│ │ ├─{2}--第2章代码复用能力介绍和功能开发
│ │ │ [5.2.2.1]--2-1代码片段概念,与页面模板的区别.mp4
│ │ │ [5.2.2.2]--2-2代码片段模板创建和发布.mp4
│ │ │ [5.2.2.3]--2-3选择代码复用模式功能开发.mp4
│ │ │ [5.2.2.4]--2-4选择代码片段模板功能开发.mp4
│ │ │ [5.2.2.5]--2-5生成代码片段安装目录.mp4
│ │ │ [5.2.2.6]--2-6代码片段模板下载逻辑开发.mp4
│ │ │
│ │ ├─{3}--第3章代码片段安装算法实现
│ │ │ [5.2.3.1]--3-1获取代码片段插入行数逻辑开发.mp4
│ │ │ [5.2.3.2]--3-2选择源码文件功能开发.mp4
│ │ │ [5.2.3.3]--3-3代码片段插入逻辑开发.mp4
│ │ │ [5.2.3.4]--3-4代码片段拷贝逻辑开发.mp4
│ │ │ [5.2.3.5]--3-5更新代码片段模板并完成安装流程测试.mp4
│ │ │
│ │ ├─{4}--第4章代码片段工程模板升级
│ │ │ [5.2.4.1]--4-1代码片段工程模板实现原理讲解和模板创建.mp4
│ │ │ [5.2.4.2]--4-2Webpack插件创建和Vue项目引用流程串联.mp4
│ │ │ [5.2.4.3]--4-3Webpack插件壳应用创建和开发难点解析.mp4
│ │ │ [5.2.4.4]--4-4Webpack壳应用开发和调试.mp4
│ │ │ [5.2.4.5]--4-5壳应用代码片段模板安装逻辑改造.mp4
│ │ │
│ │ └─{5}--第5章代码复用能力增强
│ │ [5.2.5.1]--5-1页面和代码片段模板API开发.mp4
│ │ [5.2.5.2]--5-2通过mongodb存储页面和代码片段的模板数据.mp4
│ │ [5.2.5.3]--5-3通过API获取模板数据并对整个链路进行测试.mp4
│ │ [5.2.5.4]--5-4代码复用自定义安装模型模板和框架开发.mp4
│ │ [5.2.5.5]--5-5自定义安装逻辑实现.mp4
│ │
│ ├─{3}--前端监控平台之JS库开发
│ │ ├─{1}--第1章本周导学
│ │ │ [5.3.1.1]--1-1本周整体内容介绍和学习方法.mp4
│ │ │
│ │ ├─{2}--第2章前端监控快速入门和架构设计
│ │ │ [5.3.2.1]--2-1为什么需要前端监控?.mp4
│ │ │ [5.3.2.2]--2-2前端监控的应用场景和百度统计接入.mp4
│ │ │ [5.3.2.3]--2-3阿里云arms接入方法.mp4
│ │ │ [5.3.2.4]--2-4什么情况下需要自建前端监控平台?.mp4
│ │ │ [5.3.2.5]--2-5前端监控平台架构设计.mp4
│ │ │
│ │ ├─{3}--第3章前端JSSDK开发入门
│ │ │ [5.3.3.1]--3-1前端JSSDK项目创建和最小闭环实现.mp4
│ │ │ [5.3.3.2]--3-2JSSDK异步加载功能实现.mp4
│ │ │ [5.3.3.3]--3-3JSSDK模块化开发支持.mp4
│ │ │
│ │ ├─{4}--第4章前端监控JSSDK功能开发
│ │ │ [5.3.4.1]--4-1项目dev-server开发模式配置+html模板文件打包.mp4
│ │ │ [5.3.4.2]--4-2PV日志上报原理和实现细节讲解.mp4
│ │ │ [5.3.4.3]--4-3PV日志上报参数获取.mp4
│ │ │ [5.3.4.4]--4-4通过Image对象上报日志数据.mp4
│ │ │ [5.3.4.5]--4-5日志上报钩子函数支持.mp4
│ │ │
│ │ ├─{5}--第5章前端监控曝光和点击日志上报功能开发
│ │ │ [5.3.5.1]--5-1曝光埋点实现方案介绍.mp4
│ │ │ [5.3.5.2]--5-2IntersectionObserver用法入门1.mp4
│ │ │ [5.3.5.3]--5-3IntersectionObserver高级应用.mp4
│ │ │ [5.3.5.4]--5-4曝光埋点自动监听+自定义参数上报功能开发1.mp4
│ │ │ [5.3.5.5]--5-5实现动态渲染DOM的曝光埋点上报.mp4
│ │ │ [5.3.5.6]--5-6实现两种点击事件埋点上报.mp4
│ │ │
│ │ └─{6}--第6章本周总结+作业
│ │ [5.3.6.1]--6-1本周课程总结.mp4
│ │
│ ├─{4}--前端监控平台之大数据开发
│ │ ├─{1}--第1章本周导学
│ │ │ [5.4.1.1]--1-1本周整体内容介绍和学习方法.mp4
│ │ │
│ │ ├─{2}--第2章MaxCompute数据开发快速入门
│ │ │ [5.4.2.1]--2-1MaxCompute基本概念介绍.mp4
│ │ │ [5.4.2.2]--2-2MaxCompute计算引擎开通+大数据表创建.mp4
│ │ │ [5.4.2.3]--2-3MaxCompute数据插入和查询.mp4
│ │ │ [5.4.2.4]--2-4MacCompute通过python实现数据开发.mp4
│ │ │ [5.4.2.5]--2-5数据清洗表创建和数据清洗流程实践.mp4
│ │ │ [5.4.2.6]--2-6MaxCompute调度任务创建1.mp4
│ │ │
│ │ ├─{3}--第3章MaxCompute监控日志表创建和上报API开发
│ │ │ [5.4.3.1]--3-1监控日志表创建.mp4
│ │ │ [5.4.3.2]--3-2完成pythonSDK准备工作.mp4
│ │ │ [5.4.3.3]--3-3MaxComputepyodps安装.mp4
│ │ │ [5.4.3.4]--3-4pyodpsAPI实践.mp4
│ │ │ [5.4.3.5]--3-5通过pyodps写入日志数据.mp4
│ │ │
│ │ └─{4}--第4章MaxCompute监控API开发
│ │ [5.4.4.1]--4-1前端监控API创建+SDK调用实测.mp4
│ │ [5.4.4.2]--4-2前端监控上报API参数获取.mp4
│ │ [5.4.4.3]--4-3python脚本获取运行参数+Node调用python脚本.mp4
│ │ [5.4.4.4]--4-4Maxcompute上传脚本生成.mp4
│ │ [5.4.4.5]--4-5通过Node调用python脚本实现监控数据上报.mp4
│ │
│ └─{5}--前端监控平台之数据可视化开发
│ ├─{1}--第1章本周导学
│ │ [5.5.1.1]--1-1本周整体内容介绍和学习方法.mp4
│ │
│ ├─{2}--第2章监控数据可视化架构设计和优化方案
│ │ [5.5.2.1]--2-1监控平台架构设计复盘.mp4
│ │ [5.5.2.2]--2-2监控可视化架构设计+指标体系设计.mp4
│ │ [5.5.2.3]--2-3上报任务队列架构设计.mp4
│ │
│ ├─{3}--第3章流量指标分析和计算公式
│ │ [5.5.3.1]--3-1流量指标分析和计算公式.mp4
│ │ [5.5.3.2]--3-2模块指标和页面性能指标分析.mp4
│ │ [5.5.3.3]--3-3页面异常监控指标和原理解析.mp4
│ │ [5.5.3.4]--3-4基于指标分析结果梳理SDK改造需求.mp4
│ │
│ ├─{4}--第4章前端监控SDK和数据仓库改造
│ │ [5.5.4.1]--4-1MaxCompute日志表字段更新.mp4
│ │ [5.5.4.2]--4-2监控SDK添加user_id和visitor_id获取逻辑.mp4
│ │ [5.5.4.3]--4-3更新监控上报API支持user_id和visitor_id.mp4
│ │ [5.5.4.4]--4-4全局点击事件绑定+埋点自动上报.mp4
│ │ [5.5.4.5]--4-5停留时长埋点上报.mp4
│ │
│ ├─{5}--第5章深入前端性能监控技术
│ │ [5.5.5.10]--5-10自定义性能监控点+ChromePerformance插件.mp4
│ │ [5.5.5.11]--5-11前端性能数据采集SDK开发.mp4
│ │ [5.5.5.12]--5-12前端异常监控SDK开发.mp4
│ │ [5.5.5.1]--5-1监控日志表增加mod_id字段.mp4
│ │ [5.5.5.2]--5-2模块曝光埋点上报时获取mod_id信息.mp4
│ │ [5.5.5.3]--5-3模块点击事件mod_id信息获取.mp4
│ │ [5.5.5.4]--5-4前端性能监控平台架构设计.mp4
│ │ [5.5.5.5]--5-5划重点:前端性能监控原理详解(URL请求到加载的全过程).mp4
│ │ [5.5.5.6]--5-6PerformanceTiming性能采集实践.mp4
│ │ [5.5.5.7]--5-7PerformanceNavigationTiming性能.mp4
│ │ [5.5.5.8]--5-8高能:PerformanceObserver性能监控.mp4
│ │ [5.5.5.9]--5-9前端性能监控指标解析――彻底搞懂FP、FCP和LCP.mp4
│ │
│ └─{6}--第6章指标运算和数据回流
│ [5.5.6.10]--6-10核心:大数据仓库数据回流.mp4
│ [5.5.6.11]--6-11数据回流过程中的问题修正.mp4
│ [5.5.6.12]--6-12数据可视化项目创建.mp4
│ [5.5.6.13]--6-13echarts图表组件开发.mp4
│ [5.5.6.1]--6-1PV和UV指标计算.mp4
│ [5.5.6.2]--6-2PV点击率指标计算.mp4
│ [5.5.6.3]--6-3高级技巧:横表转纵表.mp4
│ [5.5.6.4]--6-4UV点击率指标计算.mp4
│ [5.5.6.5]--6-5页面停留时长指标计算.mp4
│ [5.5.6.6]--6-6监控指标表创建.mp4
│ [5.5.6.7]--6-7PV指标数据存入指标库.mp4
│ [5.5.6.8]--6-8剩余指标存入指标数据库.mp4
│ [5.5.6.9]--6-9MySQL数据集成表创建.mp4
│
├─{6}--阶段六:前端发布脚手架开发
│ ├─{1}--脚手架发布模块架构设计和核心流程开发
│ │ ├─{1}--第1章周介绍
│ │ │ [6.1.1.1]--1-1本周整体内容介绍和学习方法.mp4
│ │ │
│ │ ├─{2}--第2章项目发布流程架构设计
│ │ │ [6.1.2.1]--2-1脚手架发布功能和流程讲解.mp4
│ │ │ [6.1.2.2]--2-2绘制项目发布架构设计图.mp4
│ │ │
│ │ ├─{3}--第3章imooc-cli脚手架gitflow自动化架构设计
│ │ │ [6.1.3.1]--3-1gitflow基础流程讲解.mp4
│ │ │ [6.1.3.2]--3-2gitflow多人协作流程讲解(详细讲解大厂gitflow.mp4
│ │ │ [6.1.3.3]--3-3脚手架gitflowprepare阶段架构设计.mp4
│ │ │ [6.1.3.4]--3-4脚手架gitflow执行阶段架构设计.mp4
│ │ │
│ │ ├─{4}--第4章imooc-cli脚手架云构建+云发布架构设计
│ │ │ [6.1.4.1]--4-1云构建+云发布整体流程设计.mp4
│ │ │ [6.1.4.2]--4-2云构建+云发布详细流程设计1.mp4
│ │ │ [6.1.4.3]--4-3云构建+云发布详细流程设计2.mp4
│ │ │ [6.1.4.4]--4-4深入讲解云发布原理.mp4
│ │ │
│ │ ├─{5}--第5章imooc-cli脚手架publish模块开发
│ │ │ [6.1.5.1]--5-1创建publish模块.mp4
│ │ │ [6.1.5.2]--5-2publish基本流程开发.mp4
│ │ │ [6.1.5.3]--5-3项目发布前预检查流程开发.mp4
│ │ │
│ │ ├─{6}--第6章本周加餐:前端路由模式原理和vue-router源码讲解
│ │ │ [6.1.6.10]--6-10深入解析router-view源码.mp4
│ │ │ [6.1.6.1]--6-1vue-router-next完整运行流程解析.mp4
│ │ │ [6.1.6.2]--6-2vue-router路由模式+history路由部署详细教.mp4
│ │ │ [6.1.6.3]--6-3vue-cli源码调试+dev模式historyfallb.mp4
│ │ │ [6.1.6.4]--6-4vue-router初始化过程源码分析.mp4
│ │ │ [6.1.6.5]--6-5vue3高级特性:vue插件+provide跨组件通信.mp4
│ │ │ [6.1.6.6]--6-6vue-router路由跳转核心源码分析.mp4
│ │ │ [6.1.6.7]--6-7vue-router路由匹配源码分析.mp4
│ │ │ [6.1.6.8]--6-8vue3新特性defineComponent讲解1.mp4
│ │ │ [6.1.6.9]--6-9vue3新特性defineComponent讲解2.mp4
│ │ │
│ │ └─{7}--第7章本周总结+作业
│ │ [6.1.7.1]--7-1本周总结+作业.mp4
│ │
│ ├─{2}--脚手架发布模块git自动化流程开发
│ │ ├─{1}--第1章本章导学
│ │ │ [6.2.1.1]--1-1本周整体内容介绍和学习方法.mp4
│ │ │
│ │ ├─{2}--第2章GitFlow模块架构设计
│ │ │ [6.2.2.1]--2-1GitFlow模块架构设计.mp4
│ │ │ [6.2.2.2]--2-2GitFlow流程回顾.mp4
│ │ │
│ │ ├─{3}--第3章Github&GiteeAPI接入
│ │ │ [6.2.3.1]--3-1创建Git类.mp4
│ │ │ [6.2.3.2]--3-2用户主目录检查逻辑开发.mp4
│ │ │ [6.2.3.3]--3-3选择远程Git仓库逻辑开发.mp4
│ │ │ [6.2.3.4]--3-4创建GitServer类.mp4
│ │ │ [6.2.3.5]--3-5生成远程仓库Token逻辑开发.mp4
│ │ │ [6.2.3.6]--3-6GiteeAPI接入+获取用户组织信息功能开发.mp4
│ │ │ [6.2.3.7]--3-7GithubAPI接入开发.mp4
│ │ │ [6.2.3.8]--3-8远程仓库类型选择逻辑开发.mp4
│ │ │
│ │ ├─{4}--第4章GitFlow初始化流程开发
│ │ │ [6.2.4.1]--4-1Gitee获取和创建仓库API接入.mp4
│ │ │ [6.2.4.2]--4-2Github获取和创建仓库API接入1.mp4
│ │ │ [6.2.4.3]--4-3Github&Gitee组织仓库创建API接入1.mp4
│ │ │ [6.2.4.4]--4-4gitignore文件检查.mp4
│ │ │ [6.2.4.5]--4-5git本地仓库初始化和远程仓库绑定1.mp4
│ │ │ [6.2.4.6]--4-6git自动化提交功能开发.mp4
│ │ │
│ │ ├─{5}--第5章GitFlow本地仓库自动提交
│ │ │ [6.2.5.1]--5-1自动生成开发分支原理讲解1.mp4
│ │ │ [6.2.5.2]--5-2自动生成开发分支功能开发.mp4
│ │ │ [6.2.5.3]--5-3高端操作:自动升级版本号功能开发.mp4
│ │ │ [6.2.5.4]--5-4GitFlow代码自动提交流程梳理+stash区检查功能开.mp4
│ │ │ [6.2.5.5]--5-5代码冲突处理+Git代码删除后还原方法讲解.mp4
│ │ │ [6.2.5.6]--5-6自动切换开发分支+合并远程分支代码+推送代码功能开发.mp4
│ │ │
│ │ ├─{6}--第6章本周加餐:Node编码最佳实践
│ │ │ [6.2.6.1]--6-1Node最佳实践学习说明.mp4
│ │ │ [6.2.6.2]--6-2Node项目架构最佳实践.mp4
│ │ │ [6.2.6.3]--6-3Node异常处理最佳实践.mp4
│ │ │ [6.2.6.4]--6-4Node编码规范最佳实践.mp4
│ │ │ [6.2.6.5]--6-5Node测试+安全最佳实践.mp4
│ │ │
│ │ └─{7}--第7章周总结
│ │ [6.2.7.1]--7-1本周总结+作业.mp4
│ │
│ ├─{3}--脚手架发布模块云构建系统开发
│ │ ├─{1}--第1章本周导学
│ │ │ [6.3.1.1]--1-1本周整体内容介绍和学习方法.mp4
│ │ │
│ │ ├─{2}--第2章云架构模块架构设计
│ │ │ [6.3.2.1]--2-1详细分析为什么需要设计云构建系统.mp4
│ │ │ [6.3.2.2]--2-2云构建系统架构设计.mp4
│ │ │
│ │ ├─{3}--第3章WebSocket快速入门
│ │ │ [6.3.3.1]--3-1WebSocket基本概念及同HTTP协议对比.mp4
│ │ │ [6.3.3.2]--3-2egg集成WebSocket服务.mp4
│ │ │ [6.3.3.3]--3-3WebSocket客户端开发.mp4
│ │ │ [6.3.3.4]--3-4WebSocket客户端与服务端交互流程分析.mp4
│ │ │
│ │ ├─{4}--第4章Redis快速入门
│ │ │ [6.3.4.1]--4-1redis基本概念+安装方法+基本命令.mp4
│ │ │ [6.3.4.2]--4-2阿里云redis服务配置和远程连接方法讲解.mp4
│ │ │ [6.3.4.3]--4-3egg集成redis方法讲解.mp4
│ │ │
│ │ ├─{5}--第5章云构建初始化流程开发
│ │ │ [6.3.5.1]--5-1CloudBuild类开发.mp4
│ │ │ [6.3.5.2]--5-2生成构建命令+构建命令检查开发.mp4
│ │ │ [6.3.5.3]--5-3通过CloudBuild创建WebSocket连接.mp4
│ │ │ [6.3.5.4]--5-4WebSocket超时自动断开连接逻辑开发.mp4
│ │ │ [6.3.5.5]--5-5WebSocket客户端和服务端通信优化.mp4
│ │ │ [6.3.5.6]--5-6云构建任务写入Redis.mp4
│ │ │ [6.3.5.7]--5-7创建云构建任务功能开发.mp4
│ │ │
│ │ ├─{6}--第6章云构建执行流程开发
│ │ │ [6.3.6.1]--6-1云构建任务初始化流程开发.mp4
│ │ │ [6.3.6.2]--6-2云构建任务交互日志开发.mp4
│ │ │ [6.3.6.3]--6-3服务端源码下载+切换到开发分支功能开发.mp4
│ │ │ [6.3.6.4]--6-4服务端源码依赖安装+命令执行功能封装.mp4
│ │ │ [6.3.6.5]--6-5云构建任务执行逻辑开发.mp4
│ │ │
│ │ └─{7}--第7章周总结
│ │ [6.3.7.1]--7-1本周总结+作业.mp4
│ │
│ ├─{4}--脚手架发布模块云发布功能开发
│ │ ├─{1}--第1章第一章本周导学
│ │ │ [6.4.1.1]--1-1本周整体内容介绍和学习方法.mp4
│ │ │
│ │ ├─{2}--第2章云发布模块架构设计
│ │ │ [6.4.2.1]--2-1前端发布OSS架构设计.mp4
│ │ │ [6.4.2.2]--2-2云发布架构和流程设计.mp4
│ │ │
│ │ ├─{3}--第3章云发布功能开发
│ │ │ [6.4.3.1]--3-1实现云发布前的预检查逻辑.mp4
│ │ │ [6.4.3.2]--3-2静态资源服务器类型选择逻辑开发.mp4
│ │ │ [6.4.3.3]--3-3云发布服务端预检查逻辑实现.mp4
│ │ │ [6.4.3.4]--3-4创建OSSbucket+OSS实例化开发.mp4
│ │ │ [6.4.3.5]--3-5云发布核心流程:上传OSS功能开发.mp4
│ │ │ [6.4.3.6]--3-6OSS域名绑定+CDN绑定.mp4
│ │ │
│ │ ├─{4}--第4章云发布流程完善
│ │ │ [6.4.4.10]--4-10自动打tag+合并代码至master分支流程开发.mp4
│ │ │ [6.4.4.1]--4-1获取OSSAPI开发.mp4
│ │ │ [6.4.4.2]--4-2覆盖发布逻辑开发.mp4
│ │ │ [6.4.4.3]--4-3服务端缓存文件清除功能实现.mp4
│ │ │ [6.4.4.4]--4-4自动提交代码BUG修复.mp4
│ │ │ [6.4.4.5]--4-5history模式发布原理讲解.mp4
│ │ │ [6.4.4.6]--4-6history模式远程发布原理讲解.mp4
│ │ │ [6.4.4.7]--4-7脚手架自动上传模板逻辑开发.mp4
│ │ │ [6.4.4.8]--4-8获取OSS文件API开发.mp4
│ │ │ [6.4.4.9]--4-9上传模板功能实现.mp4
│ │ │
│ │ ├─{5}--第5章本周加餐:node常用三方库介绍
│ │ │ [6.4.5.1]--5-1Node高分库:PDF文件生成工具――PDFKit.mp4
│ │ │ [6.4.5.2]--5-2NodeExcel处理库讲解.mp4
│ │ │ [6.4.5.3]--5-3命令行交互库Listr讲解.mp4
│ │ │ [6.4.5.4]--5-4利用Listr对项目自动创建Tag逻辑进行优化.mp4
│ │ │
│ │ └─{6}--第6章本周总结+作业
│ │ [6.4.6.1]--6-1本周总结+作业.mp4
│ │
│ ├─{5}--脚手架组件发布功能开发
│ │ ├─{1}--第1章周介绍
│ │ │ [6.5.1.1]--1-1本周整体内容介绍和学习方法.mp4
│ │ │
│ │ ├─{2}--第2章大厂物料体系介绍和前端组件平台架构设计
│ │ │ [6.5.2.1]--2-1大厂前端物料体系介绍.mp4
│ │ │ [6.5.2.2]--2-2组件平台架构设计.mp4
│ │ │
│ │ ├─{3}--第3章脚手架组件创建和预览项目开发
│ │ │ [6.5.3.1]--3-1新的组件库模板开发.mp4
│ │ │ [6.5.3.2]--3-2组件库预览项目开发.mp4
│ │ │ [6.5.3.3]--3-3组件多预览模式开发.mp4
│ │ │ [6.5.3.4]--3-4将预览功能集成到组件库模板.mp4
│ │ │ [6.5.3.5]--3-5组件初始化时自动生成配置文件.mp4
│ │ │ [6.5.3.6]--3-6组件库命名优化.mp4
│ │ │
│ │ ├─{4}--第4章脚手架组件发布流程开发
│ │ │ [6.5.4.1]--4-1组件仓库初始化流程优化.mp4
│ │ │ [6.5.4.2]--4-2组件上传前预检查流程开发.mp4
│ │ │ [6.5.4.3]--4-3组件发布前准备工作开发.mp4
│ │ │ [6.5.4.4]--4-4创建RDS组件表+后端MySQL插件集成.mp4
│ │ │ [6.5.4.5]--4-5组件上传数据库准备工作开发.mp4
│ │ │ [6.5.4.6]--4-6组件上传restfulapi开发.mp4
│ │ │ [6.5.4.7]--4-7组件上传数据库逻辑开发.mp4
│ │ │ [6.5.4.8]--4-8组件NPM发布逻辑开发.mp4
│ │ │ [6.5.4.9]--4-9组件自动生成远程仓库Tag问题解决.mp4
│ │ │
│ │ └─{5}--第5章本周总结+作业
│ │ [6.5.5.1]--5-1本周总结+作业.mp4
│ │
│ ├─{6}--组件平台开发
│ │ ├─{1}--第1章本周导学
│ │ │ [6.6.1.1]--1-1本周整体内容介绍和学习方法.mp4
│ │ │
│ │ ├─{2}--第2章组件平台架构设计和技术选型
│ │ │ [6.6.2.1]--2-1组件平台架构设计.mp4
│ │ │ [6.6.2.2]--2-2组件平台技术选型和框架搭建.mp4
│ │ │
│ │ ├─{3}--第3章组件平台基础功能开发
│ │ │ [6.6.3.1]--3-1umi项目全局入口文件+国际化开发.mp4
│ │ │ [6.6.3.2]--3-2组件平台功能展示+页头页脚开发.mp4
│ │ │ [6.6.3.3]--3-3组件平台动态配置API开发.mp4
│ │ │ [6.6.3.4]--3-4前端动态配置API接入.mp4
│ │ │
│ │ ├─{4}--第4章组件平台组件列表页面开发
│ │ │ [6.6.4.1]--4-1组件列表API开发.mp4
│ │ │ [6.6.4.2]--4-2测试组件数据创建.mp4
│ │ │ [6.6.4.3]--4-3组件列表页面开发.mp4
│ │ │ [6.6.4.4]--4-4组件卡片面板开发.mp4
│ │ │ [6.6.4.5]--4-5搜索框组件开发+模糊搜索API开发.mp4
│ │ │
│ │ └─{5}--第5章组件平台组件详情页面开发
│ │ [6.6.5.1]--5-1组件详情获取API开发.mp4
│ │ [6.6.5.2]--5-2组件基本信息样式开发.mp4
│ │ [6.6.5.3]--5-3组件代码+预览样式开发.mp4
│ │ [6.6.5.4]--5-4组件安装样式和复制命令功能开发.mp4
│ │ [6.6.5.5]--5-5组件多预览文件上传工作.mp4
│ │ [6.6.5.6]--5-6(本周难点)组件多预览文件上传开发.mp4
│ │
│ └─{7}--项目单元测试用例设计和开发
│ ├─{1}--第1章周介绍
│ │ [6.7.1.1]--1-1本周整体内容介绍和学习方法.mp4
│ │ [6.7.1.1]--1-1本周整体内容介绍和学习方法【瑞客论坛 www.ruike1.com】.mp4
│ │
│ ├─{2}--第2章Mocha框架快速入门
│ │ [6.7.2.1]--2-1单元测试基本概念介绍.mp4
│ │ [6.7.2.2]--2-2mocha基本运行流程讲解.mp4
│ │ [6.7.2.3]--2-3mocha源码调试方法和执行流程分析.mp4
│ │ [6.7.2.4]--2-4mocha异步测试方法+nodeevenloop详细讲解.mp4
│ │ [6.7.2.5]--2-5断言库should.js快速入门.mp4
│ │ [6.7.2.6]--2-6async函数测试方法+钩子函数介绍.mp4
│ │ [6.7.2.7]--2-7独家测试和包容性测试介绍.mp4
│ │
│ ├─{3}--第3章Package类用例设计和开发
│ │ [6.7.3.1]--3-1Package对象实例化测试用例设计和开发.mp4
│ │ [6.7.3.2]--3-2Package对象prepare方法测试.mp4
│ │ [6.7.3.3]--3-3Package对象核心方法测试.mp4
│ │
│ ├─{4}--第4章Git类用例设计和开发
│ │ [6.7.4.1]--4-1Gitee类实例化测试.mp4
│ │ [6.7.4.2]--4-2Gitee获取用户和仓库信息API测试.mp4
│ │ [6.7.4.3]--4-3Gitee创建个人和组织仓库API测试.mp4
│ │ [6.7.4.4]--4-4Git类测试开发.mp4
│ │
│ └─{5}--第5章其他工具类和函数测试开发
│ [6.7.5.1]--5-1Command类实例化测试.mp4
│ [6.7.5.2]--5-2Command类工具方法测试.mp4
│ [6.7.5.3]--5-3CloudBuild类实例化+OSS接口测试.mp4
│ [6.7.5.4]--5-4CloudBuild类云构建任务测试.mp4
│ [6.7.5.5]--5-5工具类formatPath测试.mp4
│ [6.7.5.6]--5-6工具类get-npm-info测试.mp4
│
├─{7}--阶段七:架构师领导力培养
│ └─第35周 大厂如何管理多人协作的研发项目
│ 1-1.mp4
│ 2-2.mp4
│ 2-1.mp4
│ 2-3.mp4
│ 2-4.mp4
│ 2-5.mp4
│ 2-6.mp4
│ 2-7.mp4
│ 2-8.mp4
│ 2-9.mp4
│ 3-1.mp4
│ 3-2.mp4
│ 3-3.mp4
│ 3-4.mp4
│ 3-5.mp4
│ 3-6.mp4
│ 3-7.mp4
│
└─课程资料.zip