0

我遇到了一个问题,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-production。这个问题有解决方案吗?

我想我需要预编译翻译。

4

2 回答 2

1

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

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

我遇到了完全相同的问题,这是 Stefan Penner 建议的解决方案。https://github.com/stefanpenner/ember-cli/pull/675#issuecomment-47431195。对我来说工作得很好。不过需要注意的一点是,出于某种原因,我将导入语句作为第一个导入。当它是最后一个时,它似乎不起作用。不过,我没有尝试在两者之间进行任何尝试,也没有尝试调试该问题。

于 2014-07-08T18:56:51.547 回答
1

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

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

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

于 2014-07-08T11:12:09.427 回答