我遇到一个问题,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生产。这个问题有解决方案吗?
我想我需要预编译翻译。
答案 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语句作为第一个导入。当它是最后一个它似乎没有工作。我之间的任何地方都没有尝试过,或者尝试调试这个问题。