подвыражения руля не работают у меня

#ember.js #handlebars.js

#ember.js #handlebars.js

Вопрос:

template.hbs

     <div>
    {{helperOne  (subExpHelper 'test string') }}
    </div>
  

helperone.js

 Ember.Handlebars.helper('helperOne', function(input) {
  return new Handlebars.SafeString(input);
});
  

helpertwo.js

 Ember.Handlebars.helper('subExpHelper', function(input) {
  return new Handlebars.SafeString(input);
});
  

Ошибка, которую я получаю от grunt

Запуск задачи «emberTemplates: dist» (emberTemplates)

Ошибка: ошибка синтаксического анализа в строке 8: …v> {{helperOne (тест subExpHelper ‘ ———————-^ Ожидая ‘CLOSE’, ‘CLOSE_UNESCAPED’, ‘STRING’, ‘INTEGER’, ‘BOOLEAN’, ‘ID’, ‘DATA’, ‘SEP’, получил ‘НЕДОПУСТИМОЕ’ предупреждение: Ember Handlebars не удалось скомпилировать app / templates / portfolio.hbs. Используйте —force для продолжения.

подвыражения не работают до версии handlebars 1.3.0, которая, согласно моим ресурсам Chrome, является загружаемой версией.

Комментарии:

1. У меня это работает. Какой плагин Grunt вы используете для предварительной компиляции ваших шаблонов Ember Handlebars и какую версию?

2. пришлось много покопаться (я новичок во всем javascript и их инструментах сборки), но я действительно компилирую с 1.0 >.< Я придумаю, как изменить версию компиляции, спасибо, что указали мне правильное направление. Не стесняйтесь отвечать, и я приму

3. Расскажите мне об этом 🙂 Мне потребовалось некоторое время, чтобы научиться видеть деревья в этом лесу. Кстати, я предлагаю выбрать Gulp вместо Grunt в долгосрочной перспективе, если вы хотите оставаться в здравом уме. Удачи!

4. Взгляните на ember-cli для создания приложений ember. В конечном итоге это будет Ember Way ™ для создания приложений ember, как только она достигнет версии 1.0. Это было начато членом основной команды Ember, в котором участвовало множество людей

5. @DanMcClain Насколько болезненным было бы перенести проект Yeoman на ember-cli на данном этапе разработки ember-cli?

Ответ №1:

Сообщение об ошибке указывает, что подвыражения не поддерживаются, поэтому вы используете устаревшую версию Handlebars. Посмотрите, сможете ли вы обновить его или найти плагин получше (grunt-ember-templates — довольно популярный выбор).