【问题标题】:Ember - Sharing code between two EAK projectsEmber - 在两个 EAK 项目之间共享代码
【发布时间】:2014-02-25 00:30:35
【问题描述】:

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

  1. 我应该把通用代码放到一个单独的 eak 项目中吗?
  2. 我应该使用一些包管理器(也许是凉亭)来管理项目 依赖?
  3. EAK 使用其自定义解析器查找特定下的 ember 类 目录(视图,控制器等),所以我应该复制通用代码 进入这些目录或只是扩展解析器来编写我自己的 找到逻辑?

任何朝着正确方向的推动都将是巨大的帮助!谢谢。

【问题讨论】:

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


    【解决方案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 以获得故障回复。

    希望对你有帮助

    【讨论】:

      【解决方案2】:

      我们也有类似的情况。我们用 Yeoman 搭建了脚手架,这意味着我们对依赖有凉亭,对构建有抱怨。我不确定这如何适用于 EAK,因此请谨慎对待。

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

      【讨论】:

        猜你喜欢
        • 2014-07-05
        • 1970-01-01
        • 1970-01-01
        • 2021-06-21
        • 2020-08-25
        • 2023-03-29
        • 2012-11-11
        • 1970-01-01
        • 2022-10-20
        相关资源
        最近更新 更多