2

message.handlebarsブラウザでコンパイルするときに完璧に機能するテンプレートがあります。

私はそれをhandlebars -message.handlebars -f -message.js正常にプリコンパイルしました。

次に、ASP.NET MVC サイトで、参照を次のように追加しています。

<script src="~/Scripts/handlebars.runtime-v1.3.0.js"></script>
<script src="~/Scripts/handlebars-helpers.js"></script>
<script src="~/Scripts/templates/message.js"></script>

にはhandlebars-helpers.js、メッセージ テンプレートで使用されるいくつかのカスタム ヘルパーが含まれています。

この男のコメントからこのアプローチを取りましたが、うまくいきません。を実行するとエラーが発生しvar html = Handlebars.templates.message(data);ます。これも、ブラウザでコンパイルすると完全に機能するため、コンテキストの問題ではありません。

私が得ているエラーは次のとおりです。 ここに画像の説明を入力

これは、カスタム ヘルパーをプリコンパイルして使用するための正しいアプローチですか? または、これらのヘルパーをプリコンパイル済みテンプレートに含める方法はありますか?

4

1 に答える 1

1

サーバー上のハンドルバーのバージョンでした。NPM はデフォルトで最新のものをインストールし、バージョン 2 アルファが問題の原因でした。Github でこの修正を見つけました ( https://github.com/wycats/handlebars.js/issues/734 ):

npm uninstall handlebars -g
npm install handlebars@1.3 -g

すべてが機能しています!

于 2014-03-28T16:09:55.193 に答える