|
〖课程介绍〗:
& I% [8 P: n4 j! @ 在本课程中,我将带你从0开始构建一个高质量的开源的表单生成器。这个表单生成器也是我们团队中正在用的,对开发效率有着非常明显的提升和帮助(3倍左右)。在这个开发过程中,我还会带你梳理项目开发中的大小问题,踏平项目实际操作中大大小小的坑。结合Vue3.0的源码,带你真正理解Vue3的开发与应用,实现前端技术水平的快速进阶。对于有过一定Vue开发经验,希望可以快速掌握Vue3.0在企业中实际应用的同学,这门课程非常适合你。' x5 z4 [& _7 Z( x. t
* e* M; ]' ~8 N. k# V4 P" V〖课程目录〗:, P) P# d' }: P/ d8 o# d
第1章 关于这门课,你需要知道的
u' K- d/ P- W+ k9 j' O4 A 本章中,将向大家介绍本门课的相关信息,包括你能学到的知识概览、最终项目效果、课程讲解方式以及相关储备知识介绍等等。6 i: j+ d& b+ R! A# I
3 q, }; {* ^3 [; v
1-1 课前须知,这里有你需要了解的一切试看* Y7 R/ u- J( `' Z# d
1-2 开始学习之前你需要了解的
% ?. u5 X# I [7 O% S 1-3 Vue3更新概览
4 v- R# ?. c( `8 v 1-4 关于TS的学习
2 Z& @& O; s% B 第2章 【项目启动】项目的创建以及各个技术部件介绍5 L& _$ m6 E# [- K; K0 d! y
本章中,我们来创建项目的主题工程。基础设施决定整个项目将来是否合理,所以在最开始需要尽可能将会用到的功能考虑进去,在这里我们会确定项目的配置,vue3的开发模式,ts的使用方式等。# x; ~0 t. S& f) R0 F
4 o/ Z/ W3 G% B. {# _8 g* }
2-1 创建vue3的项目和目录结构讲解
4 y* e+ b* p/ r w8 I- \' q- @ 2-2 代码格式化工具prettier
+ Y( Y- i( [; G+ S% ?' h' i 2-3 如何用ts在vue3中定义组件试看
/ C: R, e8 K8 V% X# ]; c 2-4 如何提取props定义6 z3 f( w/ o5 m) f, V4 y
2-5 于vue的h函数详细讲解
7 u' L0 b( W% p3 p! q% h2 Y9 X 2-6 setup的运用和其意义试看
5 F- F! f3 b* W D: m% U 2-7 setup返回render函数的用法3 \9 @, O$ N; y% r; v% O2 ^& a, W" y
2-8 使用jsx开发vue3组件
8 _ @- G: [6 \0 z( ~. b 2-9 为什么vscode没有对props类型进行提醒: ^5 n. i! H }: v) @" q/ v' K/ B, U
第3章 【准备基础】JsonSchema标准和使用方式介绍3 M" q3 p- h7 Y. N
这里介绍什么是json schema,她的功能是什么,在什么场景进行使用等。我们会讲解基本的字段和语义,以及如何进行校验等。
. q% l! g$ i% X" S
- a& C5 N4 A( ~ 3-1 什么是json-schema
* v' a! c2 ^, N, y$ j 3-2 如何试用ajv来定义和校验json-schema/ @2 j( G8 O1 W
3-3 json-schema的fomart和自定义format
/ I1 {# \# i; s( f' d( s8 u 3-4 如何自定义关键字
: v1 [9 `/ ?) [ 3-5 如何转换错误语言自定义关键字如何自定义错误信息; ~& ~- Y0 P' j. G' o ] p4 U" a/ {
3-6 如何自定义错误信息% ^# |* w! r1 q# y# n
第4章 【基础功能开发】实现组件库的主流程
& }& A5 Z. w8 E( Y L 我们需要根据json schema来生成表单,那么肯定需要依赖一些规则,json schema的语义就是最简单的规则。根据type的定义来进行不同的渲染方式就是最简单的方式,我们称之为renderer,在这一章中我们会实现这些一些简单类型的renderer。...+ ]4 @) w5 x4 Z6 |" Z' k0 G
7 F U* G: s3 Z7 x) I4 E 4-1 课程目标和接口定义9 O# e% N, g3 h. ]4 _4 K
4-2 实现demo项目
' { E0 ~3 G8 S3 T) u6 N6 H0 F 4-3 展示项目的APP完善
8 \! |7 a1 y5 r$ L; O# k' @ 4-4 开始实现SchemaForm' Z1 l+ R# }9 I3 y2 S
4-5 组件SchemaItem的实现9 l) a# }. a: K+ b+ q7 C9 s
4-6 使用SFC的setup语法开发StringField组件. N' E2 N& c, s' x7 ^# J
4-7 NumberField节点渲染的实现9 ~2 w% _* Y) o& s, p, U
第5章 【挑战难度】复合型的复杂节点渲染实现
: {) o+ B7 A. Q2 Z7 T 在json schema中有一些类型我们称之为复合类型,他们相对于上一章的节点来说比较复杂,比如对象节点可以里面有很多的string节点和number节点,那么这类节点的渲染方式肯定会更有难度和挑战性。
4 \- J# A Q+ {# q8 q% ]# v0 O; \5 u$ y2 h; i( ~, a3 X# V& Q
5-1 复杂节点的渲染章节介绍和准备1 i2 x3 ?& O9 q8 w |( K' y. ?
5-2 开始实现ObjectField渲染并处理循环依赖的问题
X; C `: J, d* ~ 5-3 使用provide跨层级传递信息以及provide源码解析0 e, f% W! k2 o6 t8 ?1 `
5-4 完成ObjectField的渲染
' _' f4 U( K' y3 G* q% k. ]3 Y | 5-5 数据节点的渲染设计* m! i/ G, y% {! A7 E9 P; X( J
5-6 固定长度数组的渲染
. F! z8 b6 S0 p9 B$ v `/ `9 I) k7 o. m 5-7 单类型数组的渲染
' L% y7 \$ m0 G# G, I/ _* a 5-8 多选数组的渲染- U$ R( _( a3 }# m/ }2 w7 L* g3 }) s
第6章 【提升质量】为组件提供单元测试
( i& W# R3 H) Y# s 作为一个组件库,是可能被很多人用在他们自己的项目中的,那么质量和稳定性就是这个组件库是否好用的标准。单元测试的完整性是保证组件质量最高效合理的方法,所以这一章我们会为我们的项目加入单元测试的支持,并且使用vue标配的测试库vue-test-utils来帮助我们方便得测试组件。...0 o4 y2 L+ u/ ~# P+ `2 P- ]
6 `5 u& r% k& d7 b
6-1 什么是单元测试以及为什嘛要单元测试
) R/ }* ?. Q& z) b: D7 V 6-2 如何部署jest单元测试4 \* ?% D$ `! \1 l, E
6-3 如何使用jest写测试用例/ q/ q4 {% g, U9 `, a1 x5 r! q: P0 c
6-4 如何使用vue-test-utils测试vue3的组件
$ e, J, ] B, ^) d3 _) E 6-5 正式开始单元测试之问题解决
* Y- s- e$ N. j( C 6-6 正式开始单元测试补全1 ]0 O. v) }( M2 Z. d# \# c
6-7 单元测试的指标讲解) \' v; w, Y2 Z+ B V& ~* {% u
6-8 ObjectField的单元测试完善
4 v' f% A2 g% A1 r+ B. E 6-9 ArrayField的单元测试补全' M L E- E9 c7 U1 m3 E
第7章 【扩展视野】设计一个主题系统来满足各种不同的需求
: _. ^ |0 N1 \3 c8 y. ] 这一章中我们设计一套主题系统,为什么需要设计主题呢?因为对于不同的用户来说,他们可能希望表单的最终展现形式是不一样的。但是核心的表单规则和校验是可以通用的,我们把不同的部分拆分出来,通过实现主题就可以实现不同的展现啦。...4 X: a6 ^& V2 A+ J+ L) B! V
% f- {& U b9 `/ J$ b" I2 \# b
7-1 为什么需要主题系统
; T8 b2 T+ C2 S 7-2 拆分主题的代码打包
9 S$ G- }4 H2 M7 y 7-3 拆分主题并进行定义# ?; j1 c! R7 X! ^. A6 F' d6 @
7-4 使用ThemeProvider进行解耦# W) h4 V. ]* K X6 [
7-5 解决TS的定义问题& d9 X+ E0 _5 j% ]& M% h
7-6 修复单元测试
/ b0 a$ b0 i: K 7-7 迁移TextWidget和mergeProps4 \5 o+ u7 O0 b5 k+ ^
7-8 Controlled-Input功能的实现
. f- [( }6 W3 k7 C" a 7-9 迁移NumberWidget
' ]4 ?5 O6 o5 h% l: X 第8章 【深入原理】vue3响应式原理逐行源码解析5 _8 r2 I: F2 P% X) ~; l/ S' @
本章中会再次深度分析vue setup方法涉及到的API和使用方法,并总结一套vue setup的最佳实践。因为setup是vue3最大的更新亮点,也是最能体现vue3和vue2差别的部分,可以说未来大部分的vue开发都会使用setup,所以这是极其重要的一部分,非常有必要单独拿出一章来进行深度分析。...% s0 g5 k6 M* v# c/ p( K
+ s9 x* j5 w5 A9 I5 K7 T 8-1 reactive函数源码解析
1 s( x% n8 q4 ^ 8-2 proxy的handler源码详解 g0 S0 g7 Q: }, L" v
8-3 proxy的set和其他代理详解" `9 L" @0 j0 |
8-4 集合类型的代理函数详解+ F4 ^) J' {* H: C) x
8-5 ref和computed源码详解
' S5 [' u, v$ }, ?$ d6 h 8-6 整体过一遍watchEffect的API实现
- F j% m+ y8 J( a 8-7 最重要的effect源码深度逐行解析(上)5 \" m& p: h" P2 L+ \/ v% F3 g; F
8-8 最重要的effect源码深度逐行解析(下)! V' |: y! V) v U: H
8-9 关于effect理解的一些补充& H6 Y2 {. O" z# I7 F! W
8-10 关于vue3的调度scheduler的源码解析
$ A; l6 u, z8 h7 k. s; M! L/ o 第9章 【深度扩展】各种自定义渲染功能集成开发7 K+ O! t/ m) v" M' Z1 V
对于表单,一些常用的组件可以实现80%的功能,但是一些不那么通用的功能我们还是需要进行一些自定义的。在我们系统中,将会通过定义表单项接入的接口形式来规定表单组件的接入方式。
/ Y' c/ H$ g2 K6 u: M) ^
0 r" N/ e1 G6 L& r 9-1 关于本章以及jsonschema的错误对象解析
8 R3 j4 k+ m8 J 9-2 从父组件调用子组件在setup中声明的方法: b& N& C) N: Z! Y
9-3 实现ajv的校验过程
1 f- O. U4 z% d q8 } 9-4 转换错误信息到errorSchema3 O. M7 c2 p& M
9-5 把错误信息向下传递0 r$ j* S2 Q+ D4 a3 K( Z j4 [
9-6 实现FormItem组件来展示label和错误信息( v& F1 }5 b; T# d
9-7 通过高阶组件抽离FormItem逻辑' x$ l f B% \& G8 f
9-8 实现自定义校验的功能9 j" I5 y$ P8 C2 Y/ W9 _
9-9 异步校验的实现/ D: D7 Y$ H& e/ h% S6 w: Y
第10章 【保障安全】表单校验功能开发/ k1 d; d$ J2 L
表单表单,怎么能缺少表单校验呢?可以说我们之所以讲解表单组件,并把上面的组件归类为表单组件,最大的一个原因就是我们需要对这些组件的交互结果进行校验,所以自古以来,组件库对于表单校验功能的要求都是空前高的。在课程中我们会实现一套完整的表单校验功能,甚至不必开源组件诸如element-ui之类的差,这简直可以成为...
8 c5 W2 L) W( J X: h$ j& ~' O6 z3 Z" d& z* r2 ^6 |2 G
10-1 关于自定义组件的功能介绍 V; U5 l5 m" ^+ d/ a& h6 s
10-2 使用widget字段实现自定义渲染5 e: ^7 Q5 g+ \4 B' `! u! u6 e
10-3 uiSchema更多的使用场景扩展& L8 p6 e" }3 v! P
10-4 实现自定义format的自定义渲染; c: a/ X0 E8 }7 j
10-5 关自定义keyword来扩张功能实现
" p! x* `8 _4 O/ d7 c3 j6 | 第11章 【我在开源社区等你】开源项目发布流程以及课程总结
4 V; D) c! p' ?' g 组件库如何打包发布,让更多的人认识它并爱上他?在这章中会向你一一介绍。相信学完这门课并且能够自主完成作业的同学,你已经比60%的vue开发者要强大了!加油~~
+ J" ^( B7 w! Z+ |9 l$ }- }1 F
! x6 v7 r5 |% i! \2 ^9 W* {- k! t 11-1 关于自动化构建相关的知识介绍
8 j+ N. w: i6 q4 h. l0 S 11-2 创建github仓库以及配置自动化构建
' U0 l7 x1 }% E/ s) | 11-3 调整单元测试和命令
! e: ?# b$ j7 `1 ]0 ] 11-4 上传覆盖率数据道codecov
M* U7 K' C; Y# k5 U6 ^( U6 w 11-5 发布类库到npm
u9 ^7 c7 U1 x) R 11-6 课程总结(上) ' [7 r& ]8 }% q& J' p; H
11-7 课程总结(下) ( Y6 u3 l$ S2 h) v6 l( ~; ^- z
〖视频截图〗: 〖百度网盘下载地址〗: ---------------------------------华丽分割线-----------------------------------华丽分割线--------------------------华丽分割线-------------------------华丽分割线-----------------------
1 v v7 D3 y, O$ i( ?3 K( K! V; ^& Q, [# n' v" f
〖下载地址失效反馈〗:
- o7 n$ q1 `+ Z, e. b如果下载地址失效,请尽快反馈给我们,我们尽快修复。反馈地址:https://www.itspxx.com/forum-85-1.html
! z8 m/ U& \% Z( `( j8 F: o2 N* I' w6 ?. P' }2 _7 S, @
〖赞助VIP免学币下载全站资源〗:
! _2 e; N* C8 I; [4 y% u全站资源高清无密,每天更新,vip特权了解一下:https://www.itspxx.com/plugin.php?id=threed_vip#vip_info8 M0 `, t7 u' T
# x5 F8 x; R+ B
〖客服24小时咨询〗:/ j1 U4 Q. W# H5 P9 e' {- d- O
有任何问题,请点击右侧QQ咨询。 |
|