使用ember-i18n和ember-cli生产环境

时间:2014-07-08 09:52:58

标签: ember.js ember-cli ember-i18n

我遇到一个问题,ember-i18n可以与在开发环境中运行的ember-cli服务器一起使用。但是当我设置--environment production时,我收到以下错误:

Error: The default Ember.I18n.compile function requires the full Handlebars. Either include the full Handlebars or override Ember.I18n.compile.

发生错误是因为ember-cli包含生产环境中的Handlebars生产。这个问题有解决方案吗?

我想我需要预编译翻译。

2 个答案:

答案 0 :(得分:1)

解决此问题的一种方法是将ember-cli配置为包含生产中的完整把手版本:

app.import({
  development: 'vendor/handlebars/handlebars.js',
  production:  'vendor/handlebars/handlebars.js'
});

缺点是(更大)更大的库包含在构建中,仅用于我的翻译。我一直在寻找预编译翻译的方法。

答案 1 :(得分:1)

使用ember-i18n时无法绕过导入全把手。您不需要为开发和生产指定相同的字符串导入。只需将其添加到您的Brocfile:

    app.import('vendor/handlebars/handlebars.js');

我有完全相同的问题,这是Stefan Penner建议的解决方案。 https://github.com/stefanpenner/ember-cli/pull/675#issuecomment-47431195。为我工作得很好。有一点需要注意,但由于某种原因,我将import语句作为第一个导入。当它是最后一个它似乎没有工作。我之间的任何地方都没有尝试过,或者尝试调试这个问题。