-1

テキスト プラグインで require.js を使用してテキスト ファイルをインポートすると、最終出力でスラッシュの一部が欠落し、閉じられていないブロック ステートメントが原因でパーサーが失敗します。JavaScript は非常に標準的で、次のようになります。

define(['handlebars', 'some/dependency', 'text!some/text.html'], function (Handlebars, SomeDependency, text) {
    var MyView = Backbone.View.Extend({
        template: Handlebars.compile(text),
        // etc.
    })
})

インポートは機能します。つまり、require からデータを取得しますが、text.html の内容が次のようになっていることがわかりました。

<div {{#if prop}}class="{{prop}}" {{else}} class="other-class"{{/if}}></div>

正しく戻りません。代わりに私が得るものは次のとおりです。

<div {{#if prop}}class="{{prop}}" {{else}} class="other-class"{{ if}}></div>

html 要素内にある場合、if ブロックの終了スラッシュが何らかの形で失われます。ただし、次のように変更すると:

{{#if prop}}
    <div class="{{prop}}"></div>
{{else}}
    <div class="other-class"></div>
{{/if}}

正しく返ってきます。

さて、明白な解決策は 2 番目のパラダイムを使用することですが、私のテンプレートはすべて最初のものと同じように設定されており、数日前 (週、トップ) まで正しく機能していました。

誰がこれを引き起こしているのかについて何か考えがありますか?

今のところ、コミット ログを調べて、明らかな何かが見つかるかどうかを確認します。何か見つかった場合は、ここに追加します。

4

1 に答える 1

0

さまざまなチームと多くの議論を重ねた結果、Amazon インスタンスの Apache pageSpeed モジュールが原因であるという問題に絞り込みました。

この設定により、<head/>タグが表示されました: https://developers.google.com/speed/pagespeed/module/filter-head-add

また、どの特定の設定が の破損の原因であったかはわかりません{{/if}}

modを無効にした後、問題は解決しました。

于 2015-08-26T18:10:12.437 に答える