Ember.js: невозможно прочитать свойство isHelperInstance неопределенного

Я впервые внедряю свое приложение в мою промежуточную среду, но у меня возникает ошибка... Один из моих маршрутов не может обработать свой шаблон. Я вижу эту ошибку в консоли:

Uncaught TypeError: Cannot read property 'isHelperInstance' of undefined

Я не видел эту ошибку в разработке.

я использую ember-cli-rails обслуживать приложение с помощью Heroku.

Как я могу решить эту проблему?

3 ответа

Решение

Причиной этой ошибки была ссылка на компонент в несуществующем шаблоне. Причина, по которой я не увидел ошибку в разработке, заключается в том, что в моей среде разработки не было тех же данных, что и при подготовке. Поэтому я никогда не видел ту часть моего шаблона, которая могла бы вызвать ошибку.

У меня действительно была эта ошибка из-за неправильной ссылки на помощника. Моего помощника звали concatTwo() но в руле вы должны ссылаться на него, используя kabob-case, который будет concat-two, У нас было несколько ссылок на руль concatTwo который сломал эти страницы и показал эту ошибку. Неудивительно, что рефакторинг с использованием версии kabob case исправил ошибку.

Как ни странно, это не вызывало никаких проблем в среде разработки, даже когда она запускалась с точно такими же данными.

Эмбер-2.6.3

Чтобы моя среда разработки продемонстрировала такое поведение, мне пришлось очистить свой node_modules / и повторно npm-install все. Я также очистил мой bower_components и повторно bower install и их тоже Не уверен, что сделал разницу.

Я думаю, что согласен с @vkoves по поводу кейса для ваших помощников. Но кроме того, я думаю, что вы должны быть осторожны с использованием точечных обозначений при обращении к помощникам или компонентам.

Мы вложили некоторые из наших помощников формата в папку с именем formatters, Они выглядят примерно так с точки зрения нашего приложения Ember: app/helpers/formatters/date

Ранее мы обращались к этому помощнику в нашем приложении как: {{formatters.date ...}} или же (formatters.date ...),

"После некоторых недавних изменений в экосистеме Node/NPM" кажется, что теперь мы должны обращаться к нашему вложенному помощнику, используя косую нотацию вместо точечной нотации: {{formatters/date ...}} или же (formatters/date ...)

Примечание стороны (Точечная нотация против косой черты)

Мы также только что обнаружили, что Ember-2.10 удаляет точечную нотацию для ссылок на компоненты... ее, очевидно, нет в примечаниях к выпуску. Мы должны исправить это везде в нашем приложении ( https://github.com/emberjs/ember.js/issues/14659).

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