【发布时间】:2014-08-30 23:10:20
【问题描述】:
我正在尝试从一些旧的本土构建工具迁移到 ember-cli。我们的应用程序非常大,实际上被拆分为几个共享一组通用工具和组件的 ember.js 单页应用程序(例如索引、管理、报告等)。
我试图弄清楚 ember-cli 是否可以做到这一点,如果可以,我该怎么做?我看到一些人在谈论 Pod,其他人在谈论插件,还有一些人在谈论私人凉亭回购。我试着找出每一个的信息,但似乎一切都在变化。
我对目录结构或细节并不挑剔。但我想这就是我的设想:
[app]
- [controllers]
- [models]
- [routes]
- [views]
- index.html
[admin]
- [controllers]
- [models]
- [routes]
- [views]
- index.html
[reports]
- [controllers]
- [models]
- [routes]
- [views]
- index.html
[shared_code]
- [components]
- [utils]
Brocfile.js
etc
任何建议将不胜感激。即使只是一个起点也会非常有帮助。
编辑(2015 年 1 月 28 日):
Ember-cli 插件现在更加稳定,可用于此应用程序。但是恕我直言,他们对于这个用例仍有一些不足之处。它们创建了更多样板,因为您仍然必须将单个模型/控制器/组件/等导入您的应用程序空间。请参阅此处插件下的“组件”部分:http://www.ember-cli.com/#managing-addon-dependencies
还有一个有趣的 RFC 为 ember 和 ember-cli 带来类似引擎的支持,也可以满足这一点:https://github.com/emberjs/rfcs/pull/10
编辑(2015 年 10 月 3 日):
引擎 RFC 有一个新的更新,这对许多用户来说看起来很有希望。但是,我们仍然需要多个实际上不同的应用程序。与我一起工作的另一位开发人员花了一些时间详细介绍了如何最好地使用此模式。
我已经记录并在回购中创建了演示:https://github.com/workmanw/ember-multi-app
【问题讨论】:
-
那么韦斯利,你最后决定做什么,因为我现在也在考虑这个问题 (discuss.emberjs.com/t/sharing-models-via-ember-cli-addons/6311/…)
-
@cjroebuck 我看到了你的讨论帖,这正是我想要做的。起初,我可以在 Brocfile.js 中使用我的公共文件创建两个 EmberApp 实例和第三棵树,然后使用合并树让它们全部工作。但是目前 ember-cli 的波动性在现在看来太大了。所以我用了纯西兰花。我希望在它更稳定后重新使用 ember-cli 解决方案。
-
@cjroebuck 另外,我认为显然需要这种行为。希望将来它会成为 ember-cli 的一个简单功能。
-
我现在走的是 ember-addon 路线,所以我所有的公共代码都在“common”项目中,这是我使用 npm 添加到我的两个应用程序的 ember 插件dev 中的链接 - 到目前为止还不错,但我同意 ember-cli 正式支持此工作流程作为实际用例会很好。