Используйте ember-i18n с производственной средой ember-cli
Я сталкиваюсь с проблемой, когда 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 в производственную среду. Есть ли решение этой проблемы?
Я думаю, что мне нужно предварительно скомпилировать переводы.
2 ответа
Один из способов исправить это - настроить ember-cli для включения полной версии руля в производство:
app.import({
development: 'vendor/handlebars/handlebars.js',
production: 'vendor/handlebars/handlebars.js'
});
Недостатком является то, что (намного) большая библиотека включена в сборку, только для моих переводов. Я продолжаю искать способ прекомпиляции моих переводов.
При использовании ember-i18n невозможно обойти импорт полного руля. Вам не нужно указывать один и тот же импорт строк для разработки и производства. Просто добавьте это в ваш Brocfile:
app.import('vendor/handlebars/handlebars.js');
У меня была точно такая же проблема, и это решение, которое посоветовал Стефан Пеннер. https://github.com/stefanpenner/ember-cli/pull/675. Работал нормально для меня. Однако следует отметить, что по какой-то причине в качестве первого импорта я использовал оператор import. Когда это было последним, это, казалось, не работало. Я не пробовал где-то между тем, хотя, или попытался отладить эту проблему.