Ember - 在两个EAK项目之间共享代码

时间:2014-02-25 00:30:36

标签: javascript ember.js ember-app-kit

我有两个emberjs项目都使用EAK作为基本项目结构。我想在这两个项目之间共享一些常见的代码:模板,视图(和相关的样式表),一些实用程序类等。但是有一些疑点我想弄清楚:

  1. 我应该将公共代码放入单独的eak项目中吗?
  2. 我应该使用一些包管理器(可能是凉亭)来管理项目 依赖?
  3. EAK使用其自定义解析程序查找特定的ember类 目录(视图,控制器等),所以我应该复制公共代码 进入这些目录或只是扩展解析器来编写我自己的 找到逻辑?
  4. 任何正确方向的推动都将是一个巨大的帮助!谢谢。

2 个答案:

答案 0 :(得分:1)

完全可以找到将已解析的扩展目录添加为故障备份。这是一个示例代码:

var appPath = "apps/ordering/";
var resolver = Ember.DefaultResolver.extend({
  resolveTemplate: function (parsedName) {
    parsedName.fullNameWithoutType = appPath + parsedName.fullNameWithoutType;
    # fallback to raw templates (used for compatibility with non-Ember/emblem templates)
    return this._super(parsedName) ||
      Ember.TEMPLATES[parsedName.fullNameWithoutType + ".raw"]
  }
});

基本上,您可以使用正确顺序的不同路径调用this._super来进行故障返回。

希望这有帮助

答案 1 :(得分:0)

我们有类似的情况。我们搭配Yeoman,这意味着我们有依赖的凉亭和建筑的咕噜声。我不确定这对EAK有何影响,所以请耐心等待。

我们的决定是将公共代码保存在一个单独的项目中。它在处理所有依赖项时有点复杂,最后它涉及做一些繁琐的构建工作,以确保在将它作为依赖项添加时,从公共项目中包含我们所需的所有内容(无论或多或少)通过凉亭到儿童项目。像Bower这样的依赖管理器是至关重要的,因为在您处理其中的新功能时,您希望能够将您的子项目(消费者,等等)固定到特定版本的公共代码。