04|插件树:声明式配置、isolate 与 HMR
张嘉熙

你好,我是张嘉熙。
前三讲,我们看着一棵树慢慢长成:根由 new Context() 造出(顺带也造出根 fiber),此后每调一次 ctx.plugin() 就长出一个节点,这棵树我们称之为插件树,也就是这一讲的主角。
第一讲,它怎么长:ctx.plugin() 挂上可拆卸的枝条,ctx.effect() 声明可撤销的副作用。第二讲,树上怎么协作:inject 声明依赖,服务一上线就自动激活。第三讲,节点之间怎么通信:事件在 ctx 上传播,五种派发方式各有分工。
机制都认识了,可现实中通常大量插件并存:谁挂在哪一层、各自带什么参数、怎么按租户分组——这些装配的活儿全交给代码一行行写死,就成了又长又机械的流水线:加个插件要改代码,换个参数要改代码,多一个租户还是要改代码。
真实的 Cordis 世界不这么干。打开任何一个 Cordis 应用的目录,你几乎找不到手写的装配代码,取而代之的是一份 cordis.yml:哪些插件要挂、挂在哪一层、各自带什么配置、谁和谁隔离、谁拦截谁,全都写在这一份 YAML 里。你只需要描述“树应该长成什么样”,框架负责把它变成实物——这就是所谓声明式配置(cordis.yml + Loader),与前三讲那种“一步步指挥框架干活”的命令式写法正好相对。前三讲我们用纯代码一步步看清底层,这一讲我们将重点转向 Cordis 的声明式 YAML 配置。
公开
同步至部落
取消
完成
0/2000
笔记
复制
AI
- 深入了解
- 翻译
- 解释
- 总结
仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《DeepSeek Harness 前沿工程实践》,新⼈⾸单¥59
《DeepSeek Harness 前沿工程实践》,新⼈⾸单¥59
立即购买
© 版权归极客邦科技所有,未经许可不得传播售卖。 页面已增加防盗追踪,如有侵权极客邦将依法追究其法律责任。
登录 后留言
精选留言
由作者筛选后的优质留言将会公开显示,欢迎踊跃留言。
收起评论