ember-i18n : TypeError: app[initializerType] is not a function

ember-i18n : TypeError: app[initializerType] is not a function

我一直在为工作中的 Ember 项目安装 ember-i18n。 (https://github.com/jamesarosen/ember-i18n)

注册初始化程序后 app/initializers/i18n.js :

export default {
  name: 'i18n',

  after: 'ember-i18n',

  initialize: function(_, app) {
    app.inject('model', 'i18n', 'service:i18n')
  }
};

然后重新启动服务器,我在控制台中收到此错误:

app[initializerType] is not a function

你有什么想法吗?

Ember 版本:"ember":“1.11.1”

看起来Initializer的格式不正确。根据 this example from the Ember Guides,有两个重要部分。首先,工厂必须被注册(application.register),然后它必须被注入(application.inject)。

Ember.Application.initializer({ 姓名:'logger',

  initialize: function(container, application) {
    var logger = {
      log: function(m) {
        console.log(m);
      }
    };

    application.register('logger:main', logger, { instantiate: false });
    application.inject('route', 'logger', 'logger:main');
  }
});

ember 1.11.1 和 ember-i18n 似乎不兼容。

升级到 1.13.2(和 ember-data 1.13.4)解决了这个问题,没有对初始值设定项进行任何更改。