-
Notifications
You must be signed in to change notification settings - Fork 16
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[WIP] framework & plugin 全量目录支持启动后按 env 加载 #42
Comments
这个思路有点意思,我再读几遍,哈哈哈。 |
@noahziheng |
这里的重实际上是为了支持 scanner 全量扫描,执行期通过 env 来解决哪些文件需要被加载,带来的好处就是一份构建,可以在多个环境部署(manifest 是全量的) |
从执行的开销上看,目前在 load 阶段只是多了一个过滤无需执行的 framework dir 文件的动作,其余开销和以前的模式是一致的 |
其实这个也不是包袱,我们以前的 framework 只能单线继承,就是之前 framework pr 的实现;只不过单线继承就是带来这个 issue 描述的困扰,以至于我们要在内部抽象 layer 的概念(平级的可选 framework)来 hack #43 其实就是想在 core 解决这种场景 |
另外,如果我们能达成共识: |
现在 plugin 应该是根据 env 进行过滤了,scanner 阶段全量扫描比较好,这样在 build 阶段的产物在不同 env 环境能够复用 |
@JerrysShan framework 现在是全量扫描,启动期根据 env 过滤,我在 #43 把 plugin 也加进来,做个更加通用的方案 |
framework
在实践中逐渐倾向于application runtime
的概念,通俗的说即提供application
运行所需的各种对接基础设施的能力。在这种场景下,存在同一个 application 希望根据不同的 env(此 env 非 test / prod,而是指独立的各个部署环境)选择不同的 framework,一个例子是:
framework
提供了 oss plugin将
framework
设计的更为灵活,支持通过 env 来选择继承链路即可从 core 层面满足这种需求,目前这种基于 scanner 扫描 manifest 的方式,可以更加优雅进行支持。更多的,
framework.${env}.ts
有别于其余配置的,它不需要合并,从app - framework1 - framework2
每一级根据 env 配置选择需要使用的 framework dir 即可Plugin
存在同样的问题,需要对 scanner 全量扫描的目录在启动期进行按照 env 的过滤。The text was updated successfully, but these errors were encountered: