1

私は大規模な Dojo プロジェクトの開発者ですが、Google Closure コンパイラに問題があります。

Dijit ウィジェット用の約 100 のテンプレートがあるため、Closure コンパイラーが AMD スタイルを要求するのではなく、JavaScript ファイル内の HTML をインライン化することを計画しました。

これを実現するために、/profiles/app.profile.js の「mini」パラメーターを true から false に変更しました。

コンパイルすると、アプリを実行しても問題はありませんが、何か奇妙なことが起こります。

HTML テンプレートが dojo.js ファイルで正しくインライン化されている場合でも、dojo はサーバーに対して対応するテンプレート ファイルへの HTTP リクエストを作成します。

Closure Compiler が生成したものの「美化された」バージョンを調べると、各 HTML テンプレートが 2 つの異なる場所に存在することがわかります。

1) 次の形式で JavaScript にインライン化されます。

"url:path/to/my/template.html":"<p>Some more HTML</p>"

2) AMD require の必須の疑似モジュールとして:

   dojo/text!./path/to/my/template.html

BuildSystem カテゴリ: BuildSystemの Web サイトでバグ レポートを検索しましたが、最終的に関連するヘルプが見つかりませんでした。

  • これは私が Google Closure Compiler を間違って使用しているだけですか、それとも未報告のバグですか?

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

よろしくお願いします!

4

1 に答える 1

2

1.9.0 にのみ存在する問題について言及している場合、それはhttps://bugs.dojotoolkit.org/ticket/17141です。

于 2013-06-10T01:05:27.613 に答える