Используйте 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. Когда это было последним, это, казалось, не работало. Я не пробовал где-то между тем, хотя, или попытался отладить эту проблему.

Другие вопросы по тегам