我们有四个共享很多组件的应用程序。到目前为止,我们使用插件来管理这个共享代码,但是使用插件方法我们遇到了很多麻烦。
这样的事情:
App1
- basic-form-elements-addon
- feedback-form-addon
- tables-management-addon
App2
- feedback-form-addon
- tables-management-addon
App3
- basic-form-elements-addon
App4
- basic-form-elements-addon
- tables-management-addon
这种方法的问题在于更新插件是一个包含很多步骤的漫长过程:
除此之外,还有其他问题 - 维护8种不同的ember应用程序需要花费大量时间 - 更新ember版本 - 更新其他依赖项 - 保持相同的linting配置和其他工具
这些是我们现在面临的最大问题。
我不知道这个问题的最佳解决方案是什么,但我的想法是我们愿意 - 将所有插件合并到一个插件中(现在可能只需要部分ember树,它不应该对代码大小产生不良影响,对吧?) - 将所有代码移动到一个存储库(monorepo) - 使用addon不作为npm依赖,但不知何故从兄弟目录导入它(我不知道这是否可能)
所以最后,我们最终会得到像这样的东西
git (monorepo)
- App1
- App2
- App3
- App4
- shared-code
--- components
--- helpers
--- models
--- ...
这可能吗?我需要做什么才能实现此设置?或者你有更好的解决方案吗?
感谢您提供任何帮助, 的Ondrej