問題タブ [dojo-build]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
dojo - 道場ビルド…?今何?
しばらく前に、Dojo と Dojo テーマを使用する際の「スタイル設定されていないコンテンツのフラッシュ」の解決策を調べました。ビルドを作成してすべてを結合することを誰かが提案しました。これにより、ロード/解析時間が短縮され、プリローダー オーバーレイなどを使用する必要がなくなります。
しかし、Dojo には、その機能の多く、特にこれに関する直接的な「現実世界」の使用例とチュートリアルが大幅に不足しているようです。多くのリソースでは、ビルドのセットアップ方法は説明されていますが、実装方法は説明されていません。
「pageinit.js」にこれがあるとしましょう:
簡潔にするために一部の require 呼び出しは削除されていますが、requiredom
やstyle
classesdijits
などはいくつかあります。
Dojo Web Builderを使用して、使用しているモジュールを選択して実行しました。新しいファイルdojo.js
やcustom_layer.js
.
だから私の質問は、「非ビルド」バージョンの代わりに、これらの新しい結合され縮小されたファイルをどのように使用するのですか? 私は何をしrequire
ますか?それとも私ですか?
混乱している...
dojo - シンプルな Dojo 1.8 ビルドの使用方法
Google CDN でホストされている Dojo (バージョン 1.8) に依存するアプリケーションを作成しました。コードは次のようになり、正常に動作します。
現在、 CDN にアクセスできないユーザーのために、ローカルでシンプルな dojo ビルドを取得しようとしています。build.dojotoolkit.orgにアクセスしてモジュールを選択し、単一のカスタム ビルド dojo.js (サイズ ~400 kb) を取得しました。次に、それをサーバーにアップロードし、コードを変更しました。
これは機能していません。たとえば、構成を宣言する必要があるなど、簡単な手順が欠けていると思いますが、残念ながら、単純なビルドの操作方法に関するチュートリアルや例は見つかりませんでした。
[更新] 次のファイルで 404 not found というエラーが表示されます。
- pathtoserver/pages/resources/blank.gif
- サーバーへのパス/dojox/gfx/svg.js
もちろん、これらの場所には何もありません。サーバーにアップロードしたのは、オンライン ビルド ツールによって返された zip ファイルのコンテンツ (dojo.js とローカライズ ファイルを含む nls フォルダー) だけです。
dojo - Dojoはprofile.layersとprofile.dependencies.layersを構築しますか?
うわー、これは完全に紛らわしく、dojo1.8のドキュメントはビルドレイヤーの周りの完全なclusterf**kのようです。誰かがそこで何が起こっているのか手がかりを持っていますか?
ビルドスクリプトのサンプルプロファイルでは、サンプルamd.profile.jsにprofile.layers ["dojo / dojo"]があり、チュートリアルはこれと同じ構文に従います。
チュートリアルの他に、1.8ビルドのドキュメントには、この種の構造については言及されていませんが、profile.dependencies.layers[n]については言及されています。
ドキュメントは非AMD構文も参照しており、混乱の別の「レイヤー」を追加するために、profile.dependencies.layers[n].dependenciesもあります。
どちらを使うべきですか?これは実際にどこかに一貫性や明確さを持って文書化されていますか?
dojo - Dojo ビルド プロファイル Dojo レイヤーなし (>1.7)
2 つのレイヤーをビルドする dojo ビルド プロファイルがあります。1 つは dojo/dojo レイヤーで、もう 1 つはアプリ ファイル用のレイヤーです。
これはすべて正常に機能し、必要なすべてのコードを含む 2 つの「大きな」ファイル (main.js と dojo.js) が作成されます。
ただし、アプリをビルドするときに常に「dojo/dojo」レイヤーをビルドしたくはありません。長い時間がかかります (> 100 秒)。そのレイヤーは実際には劇的に変化しないため、私はしたくありません。それを構築し続けるために。
問題は、「app/main」レイヤーが 1 つしかない場合でも、ビルドがすべての dojo/dijit/dojox ファイルを作成し、まだ長い時間がかかることです (これらのファイルは必要ないことはわかっていますが、まだ解析/最適化/圧縮中...これらすべてのファイル)。
とにかくこれを回避する方法はありますか?アプリケーション ファイルだけの単純な小さなビルドが必要です。
ここに私のプロフィールがあります:
dojo - EnhancedGrid Filter プラグイン用の Dojo AMD スタイル テンプレート
以下に示すように、フィルタープラグインを備えた拡張グリッドがあります。
上記の HTML を呼び出すと、Filter プラグインに関連する多数の HTML ファイルがダウンロードされていることがわかります。
これらのファイルを EnhancedGrid の Javascript の一部にしたいと考えています。これまでのところ、次の解決策を見つけました。
http://grokbase.com/t/dojo/dojo-interest/11bs5jf64d/custom-build-include-css-and-html-files
しかし、上記のリンクで Kallenboone によるコードの使用方法を取得できません。
誰か助けてくれませんか。
dojo - 1.8.1 での Dojo カスタムビルド
dojo のカスタム ビルドを作成すると、さまざまなウィジェットの html テンプレートもそのウィジェットの js ファイルに内部化されます。
EnhancedGrid の Filter プラグインの場合、上記は 1.8.0 までは当てはまらず、1.8.1 で修正されました。私はすでに dojo 1.8.0 を使用してアプリケーションを作成しています。
Dojo 1.8.0 を使用しているときに、EnhancedGrid フィルター プラグインの HTML テンプレートを内部化するための回避策はありますか?
dojo - ロケールのロード中に Dojo 1.9 ビルドの「multipleDefine」エラーが発生する
ビルド後、アプリのロード中に Dojo アプリケーションが壊れ、「multipleDefine」がスローされ、次のエラーが発生します。
エラー {src: "dojoLoader", info: Object}
メッセージ: 複数定義
info: オブジェクト {pid: "dojo", mid: "dojo/nls/dojo_en-us", pack: オブジェクト, url: "dojo/nls/dojo_en-us.js", 実行: 5…}
ここに私のプロフィールがあります:
}
これが src/ 内の index.html です
注:
build.sh
は、本番環境にデプロイするときに「isDebug」フラグを削除する責任があります。このフラグを変更すると、ビルドが中断されます。
これは dist/ に生成された index.html です
dojo/nls/dojo_en-us.js が存在することを確認しましたが、問題ありません。私はこの時点で立ち往生しており、手がかりがありません!
この問題を解決するための助けをいただければ幸いです。
dojo - Dojo ビルドで依存関係をスキップする
次の文字列を含む .profile.js ファイルがあります。
そして、このビルドで数千のファイルを結合してビルドした後、
それをスキップして、すべての依存関係を除外して指定されたファイルのみを結合するにはどうすればよいですか?
dojo - すでにインライン化された Dijit テンプレートを要求する Dojo --Google Closure ビルド
私はすでにStackOverflow でこの質問をしましたが、解決策はコミットでパッチされているはずでした:
と
しかし、このセットアップでいくつかの広範なテストを行った後でも:
- Dojo / DojoX / Dijit 1.8.3
- 最新バージョンでの使用 (GitHub のマスター ブランチ)
私は同じ問題を抱え続けています。
問題は次のとおりです。
util build.sh スクリプトを使用してアプリケーションをビルドした後。私のプロフィールは:
実行中:
1) 私の Dijit テンプレートは、本来あるべきように出力ファイル内でインライン化されていますが、アプリを実行すると、Dojo は既にインライン化された templated に対して Ajax リクエストをまだ作成しています!
2*) nls ディレクトリーが間違ったディレクトリー (ルート・ディレクトリーではなく dojo ディレクトリー) に配置されているため、移動する必要があります。(これが私が遭遇したバグに関連しているかどうかはわかりません。)
インライン形式は次のとおりです。
テンプレートにはフォーマットが必要です:
前もって感謝します !
dojo - dojo ビルド - nls バンドル、バンドルが「dojo/dojo」にない限りビルドは失敗しますか?
これは、私が得ていたビルドの失敗をまとめたものです。その症状は、shrinksafe で最適化すると、ビルドが次のエラーで失敗することでした。
私のコードが次のようなパターンで nls ファイルを取り込んだ場合
ただし、この構造は多くの Dojo コードで共通しており、クリーンにビルドされます。そこで、いくつかの dojo コードを自分のモジュールにコピーして実験したところ、nls リソースが dojo/dojo レイヤーにロードされた場合、レイヤーが正しくビルドされ、同じ nls リソースを自分のレイヤーにロードした場合、上記のエラーが発生することがわかりました。
したがって、これを最小限のケースに切り詰めて、dijit/form/_ComboBoxMenuMixin.js を自分のモジュールと対応する nls リソースにコピーしました。
3 つのテスト ケースがあり、1 つは機能し、他の 2 つは上記の失敗を示します。
私の質問:
「dojo/dojo」層に独自の nls リソースを含める必要があるようです。まさにこの層でなければなりません。さすがにこれはいけませんよね?私の代替手段は何ですか?
作業プロファイル:
失敗: 同じレイヤー内の nls
失敗しました。別のレイヤー名で nls をロードしてください