在Ember 2中扩展“基础”应用程序的正确方法

时间:2016-06-24 18:23:43

标签: ember.js ember-cli

我有一个'核心'Ember应用程序,需要能够通过'child'Ember应用程序进行扩展。在Ember 0.10中,这是通过大量修改grunt任务来实现的,但是Ember 2似乎有一个可能的内置工作流程。

我当前(和目标)设置的超高级摘要:

  • 核心应用程序('核心')
    • 包含所有应用+模板和组件的共享业务逻辑
  • 插件
    • 可跨应用程序重用的共享模板和逻辑(但并非所有人都需要)
  • 应用
    • 由来自核心应用程序,插件,+任何应用程序特定代码的元素组成。注意路线应该能够从'核心'中“拉入”

在当前的Ember 0.10应用程序结构中,这可以通过修改grunt任务来快速,相当愚蠢地构建应用程序。

现在,在Ember 2中,似乎这种应用程序开发的途径是通过使用插件和蓝图提供的。我怀疑我的“核心”应用程序应该成为一个“蓝图”,插件可以是基于他们所需要的“插件”或“蓝图”。我现在正在编写概念代码证明,但我有以下问题:

  1. --blueprint命令的ember addon标志是做什么的?我看到它本质上生成了一个应用程序结构,但我没有看到任何关于从哪里开始的文档。这似乎是我想要用于“核心”应用程序的内容,但这里缺少文档。
  2. 如果上述--blueprint标志不是我想要的这种设置,那么我应该考虑采用更好的方法吗?
  3. 关于上述任何其他有关Ember 2 + ember-cli经验的人可以分享的信息非常有帮助。
  4. 提前感谢所有反馈。

1 个答案:

答案 0 :(得分:0)

我通过挖掘现有的Ember社区插件找到了答案。

ember admin项目似乎概述了Ember插件的结构和消耗,基本上创建了一个带有路由和可覆盖/可扩展元素的Ember应用程序。

主机应用程序然后安装'通过将admin插件的路由导入到主机应用程序的路由和BOOM事物按预期工作的管理插件。我已经能够编写POC代码来证明这个概念能够满足我的需求。

相关问题