私は大規模な 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 を間違って使用しているだけですか、それとも未報告のバグですか?
この問題を解決するにはどうすればよいですか?
よろしくお願いします!