在Ember CLI构建期间合并插件供应商文件

时间:2018-06-19 20:33:45

标签: ember.js build ember-cli ember-addon

说我有三个自定义的Ember插件...

addon-a
addon-b
addon-c

我希望每个插件都包含其自己的 vendor / translations / 文件夹,其中每个语言环境都包含不同的JSON文件。

addon-a
  vendor
    translations
      en.json
      es.json
      ...
addon-b
  vendor
    translations
      en.json
      es.json
      ...
addon-c
  vendor
    translations
      en.json
      es.json
      ...

我想在我的主要Ember.js应用程序( my-app )中包含这三个插件。在构建过程中,我想为每个语言环境创建一个JSON文件,其中包含所有三个插件的内容。

// my-app's final en.json file.
{
    "addon-a": {
        // addon-a en.json contents output here.
    },
    "addon-b": {
        // addon-b en.json contents output here.
    },
    "addon-c": {
        // addon-c en.json contents output here.
    }
}

我正在使用 app.import('vendor / translations / en.json'将插件的JSON文件包含到my-app的构建输出中。但是,我坚持尝试为每个语言环境创建单个JSON文件。然后,我想删除导入的用于创建串联文件的插件的JSON文件。

我想做的是可能的吗?如果是这样,任何人都可以提供有关如何实现这一目标的步骤,或者向我指出类似的例子吗?谢谢!

1 个答案:

答案 0 :(得分:0)

经过深思熟虑,我相信最好的方法是通过在Ember应用程序中创建自定义的Broccoli插件。该插件将迭代所有插件,并在构建时将所有翻译汇总到联合文件中。

此答案基于ember-intl's TranslationReducer Broccoli plugin