問題タブ [amd]

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 投票する
2 に答える
5143 参照

javascript - CDN経由でDojoを使用するときにカスタムAMDモジュールをロードするにはどうすればよいですか?

私はグーグルのCDNを使用しており、ローダーを使用して自分のAMDモジュールをロードしようとしています。私は何か間違ったことをしていることを知っていますが、行き詰まっています。何か案は?

http://127.0.0.1:8080/js/Message.jsは、モジュールの場所です。

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

jquery - jQuery 1.7以降、AMD(RequireJS)、およびグローバルスコープ

私はAMDとの連携を強化しようとしていますが、jQueryソースで、まったく理解できない何かに出くわしました。

ここにセクションがあります(ファイルの終わりの直前にあります):

私が見ることができることから、AMDの主要なポイントの1つは、グローバルスコープをクリーンに保つことです。それでも、jQueryはそれ自体への参照をモジュールとして返すことを選択しますが、それでもグローバル空間に感染します。

「jQuery.noConflict();」を追加すると、私には思えます。リターンの直前にこれが解決され、オブジェクトがモジュールとして返されます。

RequireJSにはjQuery専用の特別なファイルがいくつかあることは知っていますが、1.7以降で必要かどうかはわかりません。

私の質問は2つの部分です:

1)この決定がなされた理由を誰かが知っていますか?

2)このアプローチはアップグレードに適していませんが、RequireJSとjQueryの標準バージョンを利用するより洗練されたソリューションに精通している人はいますか?

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

javascript - モジュールを定義し、RequireJS ですぐに使用する

RequireJS を使用しているアプリケーションのテストを書いています。アプリケーションがどのように動作するかにより、 を呼び出すことによっていくつかのクラスを取得することが期待されますrequire。したがって、テスト用にいくつかのダミー クラスがありますが、このテストのためだけにそれらを個別のファイルに入れる必要はありません。define()次のように、テストファイル内で手動でそれらだけを使用することをお勧めします。

ここでの問題は、スクリプトのオンロード イベントが発生するまで、これらのモジュールの評価が遅れることです。

1600 行目あたりの require.jsから:

キューを手動でトリガーして評価する方法はありますか?

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

javascript - Backbone および AMD モジュールを使用する場合、認証データを保存するのに最適な場所はどこですか?

登録済みまたは未登録のユーザー向けに、バックボーンと RequireJS を使用して js アプリを作成します。データベースからデータを取得するために、単純な JSON Web サービスを使用していますが、もちろん、いくつかの方法はクエストでは利用できません。問題は、サーバーから取得した認証データをすべてのビューでリロードせずに、どこにどのように保存する必要があるのか​​ わからないことです。クッキーを使用する必要がありますか?

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

javascript - RequireJS で同じ構成ファイルを使用して、並列ディレクトリの下でモジュールを最適化/ビルドします

タイトルが説明的ではないかもしれないと感じています:)

設定

次の構造があるとします。

ここに画像の説明を入力

ここで、app.jsファイルは、次のようなアプリケーションのメインのブートストラップ/エントリ モジュールです。

app01

app02

どちらも適切なindex.htmlファイルで動作します。

app01 の RequireJS ビルド構成ファイル (パスに関連する正しい配置を想定) があります

これは問題なく動作します。同様のファイル ( に置き換えるapp01)app02は、app02で問題なく機能します。

問題・対象

ここで、app01app02の両方のアプリケーションに対して、同じビルド構成ファイルを使用して、できれば実際にすべてのアプリは名前で表示されます (数と名前は時間の経過とともに変化する可能性があるため)。

基本的に、私は次のようなものを期待しています(またはむしろ望んでいます):

これはbuilt_appsディレクトリ上で実行され、app*/app の下にあるすべてのアプリを見つけて、それぞれを最適化します。

Ant を使用して、アプリごとにオンザフライでそのようなビルド構成ファイルを作成し、それに対してビルドを実行してからクリーンアップできることは知っていますが、RequireJS ソリューションが必要です。

RequireJS でこのようなことを行う方法はありますか?

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

backbone.js - バックボーン、RequireJS、およびツリー

カテゴリ ツリー ビューを RequireJS と Backbone アプリに書き直しています。

構造は単純です。各カテゴリには、子カテゴリのコレクションが含まれています。

ただし、循環依存の問題はすぐに明らかになります。カテゴリ モデルにはカテゴリ コレクションが必要であり、カテゴリ コレクションにはカテゴリ モデルが必要です。

RequireJS のドキュメントには、循環依存に関する簡単な説明があります。

http://requirejs.org/docs/api.html#circular

ただし、まだ未定義やエラーが発生しているため、何かが足りないようです。例で「a」ではなく「b」を見るだけで、理解できなくなっていると思います。

明確にする簡単な例を提供できる人はいますか? それ、または循環依存関係を必要としないこれを構造化するより良い方法。

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

javascript - グローバルに頼るのではなく、「注入されたスクリプト」に値を渡しますか?

http://dojotoolkit.org/reference-guide/loader/amd.html#generic-script-injection

require() を使用して一般的なスクリプト インジェクションを行う場合、グローバルに依存せずにインジェクトされたスクリプト値を渡す方法はありますか?

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

javascript - 依存関係に対する "!default" の意味

Dojo 1.7 amd 依存関係リストのソース コードを見ると、次のように表示されます。

define(["./_base/kernel", "./has", "./dom", "./on", "./_base/array", "./_base/lang", "./selector/ _loader", "./selector/_loader!default"],

私が知っている唯一の感嘆符の使用はプラグイン用です。この「!default」はこれまで見たことがありません。
このページ「https://github.com/amdjs/amdjs-api/wiki/AMD」を読んでググったのですが、答えが見つかりませんでした。
誰でもそれで私を助けることができます!
ありがとう
ヴォルフガング

更新:
Ates Goral さん、ご回答ありがとうございます。
今、すべてが私には明らかです。
次に、この特殊なケースで私にとって苛立たしいことは、「./selector/_loader」が上記の行で2回発生し、1回はパラメーターなしで、次にパラメーターありであるということでした。「dojo/domReady!」と書いている人を見かけたので、プラグインにはパラメータなしでもエクスクラメーションマークを書くのは必須だと思いました。これで、プラグインには「!」が必要ないことがわかりました。「dojo/domReady」と書きます。

別の更新:今日、次の興味深いステートメントを見つけました ( https://github.com/csnover/dojo-boilerplate
の main.js ):

「!」モジュール名の後に、特別なプラグイン機能を使用することを示します。「dojo/domReady」だけが必要な場合は、特別なプラグイン機能なしで、他のモジュールと同じようにそのモジュールをロードします。

この発言が正しいかどうかはわかりません。それは正しいのですが、「./selector/_loader」にはある種のハイブリッド機能がありますか?

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

requirejs - require.jsフェッチ/ロード順序デバッグ

モジュール/従来のスクリプトのフェッチとロードの順序を決定するために使用できるツールまたはrequire.js関数はありますか?

例えば、

a.js:

b.js:

そして、

ここでの私の仮定は次のとおりです。

  1. a.jsが最初にフェッチされます
  2. b.jsとc.jsが2番目にフェッチされます
  3. d.jsは最後にフェッチされます

モジュールは、d-> b->c->aの順序でロードされます。または、おそらく、dとcを同時に(cにはdのような依存関係がないため)、次にb、最後にaになります。

しかし、私の仮定が正しいと100%確信することは決してありません。ページを100回更新してエラーが発生しないことを確認できますが、101回目の試行が失敗することを心配しています。

AMDモジュール開発者、これをどのようにデバッグしますか?

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

requirejs - require.js 注文プラグインと定義

define() は従来の JavaScript ファイルをどのように扱いますか?

例えば、

a.js

c.js または d.js はいつフェッチおよびロードされますか? function(b){} で読み込まれて使用できるようになりますか?

順序が守られていないことはわかっています。注文プラグインはこれに役立ちますか?
ドキュメントは言う

define() を使用してモジュールを定義するスクリプトには必要ありません。

しかし、それは従来のスクリプトにも当てはまりますか?

ありがとう