3

初めてアプリをステージング環境にデプロイしていますが、エラーが発生しています...ルートの 1 つがそのテンプレートをレンダリングできません。コンソールに次のエラーが表示されます。

Uncaught TypeError: Cannot read property 'isHelperInstance' of undefined

開発中にこのエラーは見られませんでした。

ember-cli-railsHeroku を使用してアプリを提供するために使用しています。

この問題を解決するにはどうすればよいですか?

4

3 に答える 3

3

このエラーの原因は、存在しないテンプレート内のコンポーネントを参照したことが原因でした。開発中にエラーが表示されなかった理由は、開発環境にステージングと同じデータがなかったからです。そのため、エラーの原因となったテンプレートの部分を見たことはありません。

于 2016-05-03T02:53:39.810 に答える
1

Ember-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 )。

于 2017-01-03T19:33:58.480 に答える