問題タブ [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.

0 投票する
1 に答える
1889 参照

dojo - Dojoビルド->dojo.require(); まだ必要ですか?

これは私の最初の道場ビルドだったので、この件について私の無知を許してください。

次の(非常に単純化された)プロファイルを使用して、dojoビルドシステムからカスタムビルドを作成しました。

}

...まあ、それはすべてうまく進み、私は私が要求したすべてのものを含む自分のパッケージを手に入れます。次に、私のWebアプリに次のものを含めます

...コードが最初のdijitをインスタンス化する必要があり、悪名高い「dijits.cx。TaskPanelはコンストラクターではありません」で失敗するまでは、問題ないように見えます。

「dojo.require()」を含めることでこの問題を取り除くことができますが、カスタムの独自のビルドを作成することで取り除くことができます。'dojo.require()'行を回避するために、私が間違っていること、または何をすべきかについてのアイデアは...ヒープに感謝します。

0 投票する
1 に答える
699 参照

dojo - Dojo アプリのビルド: レイヤーはダウンロードするがロードしない

Dojo アプリが提供する構築システムを使用して Dojo アプリを構築しようとしています。dojo、dijit、および dojox ライブラリをロードするメインの index.php ファイルがあります。

プロジェクトの構造は次のようなものです。

_profile フォルダーには、これを含む myApp.profile.js があります。

このスクリプトを起動して、アプリケーションを構築しています。

正常にビルドされ、期待どおりに _release dir が設定されます。

ビルドする前に、index.php ファイルに以下を含めます。

そして正常に動作します。しかし、レイヤーをコンパイルしたら、dojo.js を指すスクリプトを変更して、新しく作成されたレイヤーを指し、dojo.require を新しい圧縮レイヤーを指すように変更する必要があります。指定したプロファイルでは、レイヤーの場所が元の init.js ファイルと同じであるため、次のようになります。

実際にアプリを起動すると、1 つのファイルだけが正しく読み込まれるので、すべてのパスで問題がなかったと思います。実際、Firebug ログで GET リクエストを確認できます。それを展開すると、すべてのアプリが圧縮されていることがわかります。ただし、ロードした直後に例外が発生します。

よくわかりませんが、ファイルinit.jsをダウンロードしているので、パスに問題はないようです。そのため、少し混乱しています。

何か案が?

ありがとう!

0 投票する
3 に答える
626 参照

dojo - DOJO ベースを含まない DOJO ビルド

これは v1.6.1 を使用して可能ですか? クライアントの dojo デプロイメントの Xdomain 構成により、開発コードが変更されるたびに新しいビルドを実行する必要があります。ご想像のとおり、これは膨大な時間の浪費です。

私が見る限り、DOJO のルールによってコアをビルドから除外する方法はありません。そのため、必要な場所に到達するためにルールを破る (Rhino 呼び出しを変更する) 方法があるかどうか疑問に思っています。

0 投票する
1 に答える
2044 参照

dojo-build - Dojoレイヤーにはすべての必需品が含まれているわけではありません

を使用するサンプルスクリプトがあります

道場の縮小ビルドを作成したいので、このプロファイルを使用します

はい、ビルダーは私のhtmlページに含める巨大なdojo.jsファイルをコンパイルしますが、それでも多くのxhrリクエストがあります。システムは、明示的に使用しないスクリプトをロードします。これがスクリーンショットです

0 投票する
1 に答える
1122 参照

dojo - このカスタムdojo1.7.2ビルドを最適化するにはどうすればよいですか

私はdojo1.7.2コンポーネントを使用する最初のプロジェクトに取り組んでおり、垂直スライダーウィジェットのみが必要です。私は、述べた依存関係に必要なモジュールのみを含むことになっているカスタムビルドを作成することができました。次のビルドプロファイルを使用し、コマンドを使用するとC:\dojo-release-1.7.2-src\util\buildscripts>build -p profiles/km.admin.dashboard.profile.js -r、結果のrelease / dojo / dojo.js.uncompressed.jsは796kb、release / dojo/dojo.jsは236kbになります。ファイルサイズを減らすために不要なモジュールを除外する方法はありますか?たとえば、release / dojo / dojo.js.uncompressed.jsを開いて簡単に調べたところ、dojo / jsonパッケージがあり、jsonは使用していません。どうすれば除外できますか?ありがとうございました。

0 投票する
1 に答える
993 参照

dojo - Dojo 1.7.2 でカスタム ビルドを作成する

Dojo 1.7.2 のカスタム ビルドについて助けが必要です。ビルドは正常に動作しますが、ブラウザーでエラーが返されます。

これが私のプロファイルファイルです:

}

「digit.registry」を追加する必要はないと思います。生成された dojo.js ファイルは、追加してもしなくても変わりません。digit.byId を使っているので依存関係にしました

ここに私が構築する方法があります:

次に、生成された dojo.js を HTML コードに含めます。ページが読み込まれると、digit.byId で何かをしようとすると、javascript コンソールに「_5c4 は関数ではありません」というエラーが表示されます。

代わりに ajax.googleapis.com から完全な Dojo をロードすると、すべてが完全に機能します。

../dijit/dijit.js も html に含める必要がありますか?

0 投票する
2 に答える
2573 参照

dojo - Dojo 1.7 カスタム ビルド - 未使用のファイルをリリース フォルダーから削除する方法

以下の (1.7) カスタム ビルド プロファイルを使用して、リリース フォルダーをビルドしました。

私の Web アプリケーションでは、2 つのコンポーネントだけを使用しています。1 つは「dijit」パッケージの Button で、もう 1 つは「dojox」の TimeSpinner です。したがって、これら 2 つのコンポーネントを「dojo/dojo.js」ファイルに含めました。期待どおりに動作しています。

しかし、リリース フォルダーには、多数のファイルを含むフォルダー 'dojo'、'dijit'、および 'dojox' が含まれています。

ほとんどのコンポーネントは Web アプリケーションでは使用されていませんが、それらのファイルは release フォルダーにあります。それらはブラウザーに読み込まれませんが (AMD のため)、リリース フォルダーにそのようなファイルを置きたくありません。

私のサブバージョンでは、そのような膨大な数のファイルを維持する必要はありません。

だから、私の質問は以下の通りです:

  1. リリースフォルダから「.uncompressed.js」ファイルを削除するには?
  2. 未使用のコンポーネントのファイル、CSS、テンプレートをリリース フォルダから削除するにはどうすればよいですか?

私を助けてください...

0 投票する
1 に答える
352 参照

dojo - カスタム Dojo ビルドの文字列をインターンする際の問題

dojo ビルドで文字列をインターンできないように見える理由を理解しようとしています。レイヤ ファイルは正しく作成されますが、個々の dijit に関連付けられたコードが正しくインターンされません。

以下は、ビルド出力の一部であり、失敗している場所を示しています。

エラー: InternalError: 不正な文字

テンプレートが js ファイルに正しく追加されていないため、最適化が失敗したようです。html がインターンされた後の js は次のようになります。出力からはわかりませんが、JavaScript の最後に大量の特殊文字が追加されています。

htm ファイルは非常に単純なので、それが問題の原因ではないと思います。

助言がありますか?

0 投票する
1 に答える
1285 参照

dojo - Dojo Custom Build 1.6 を 1 つのファイルに

Dojo でカスタム ビルドを作成しようとすると問題が発生します。それが可能かどうかさえわかりません。

アプリケーション全体で使用するすべてのコンポーネントをロードする「単一の js ファイル」が必要です。そのため、必要なものを1つだけ、または少なくとも必要なものだけを含む複数のファイルをロードしません。

私が読んだ限りでは、このビルドのプロファイルを作成する必要があります。これは私が使用するプロファイルです (例: プロファイル フォルダー内のファイル: test.profiles.js)。

私はこのように実行しました: > build.bat profile=test action=release

これにより、dojo -> dojo、dijit、dojox フォルダー、および dojo 内 -> test_dojo.js が見つかった場合、内部に "release" フォルダーが生成されます。

リリースの内容をアプリケーションにコピーし、html ファイルのスクリプト タグを置き換えます。

しかし、エラーが発生します:「dojo is not defined in line 14」

dojo をロードしてからこのファイルをロードしようとすると、次のようになります。

アプリケーションをデバッグすると、(以前と同じように) 複数のファイルを読み込もうとしていることがわかり、「'dijit.form.Form' を読み込めませんでした; 最後に '../dijit/form/Form.js' を試しました」などのエラーが発生します。 "

これはおそらく基本的な質問であり、Dojo では静かな新しいものであり、カスタムビルドのものではさらに多くの質問です。

プロファイルを修正しましたか、それともここで何が問題なのか、何が間違っているのでしょうか。

0 投票する
1 に答える
1974 参照

dojo - dojoの最小ビルド構成はどのようになりますか?

ビルドチュートリアルを調べ、Webビルド(1.7.2のみ)を見つけ、いくつかの例をテストしましたが、ビルドシステムの簡単な説明は見つかりませんでした。

私のアプリが単一のWebページであるとしましょう。

DojoSDKは./lib/にあり、Main.jsにはDojo config +appbootが含まれています。

私の質問はこれと同じくらい簡単です:すべてのDojo / AMDのものから1つのスクリプトファイルを作成するにはどうすればよいですか?交換したいだけです

シングルで

ビルドシステムをこれで動作させることは、やや自明ではないようです。./App/内のすべてのファイルをAMDモジュールに変換しようとするか(まだ私が望んでいるものではありません)、App/Mainが見つかりません。ビルドプロファイル(app.profile.js)を作成しようとしましたが、(IMOが不要な)複雑さを追加していることを除いて、これのポイントはわかりません。ビルドシステムをApp/Main.jsを含めて連結する方法を教えてください。依存関係?

ビルドシステムを理解するためのより良いチュートリアルのためのヒントもありがたいです。