問題タブ [requirejs]
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.
javascript - RequireJSによる依存性注入
アプリに依存性注入を提供するためにRequireJSをどれだけ伸ばすことができますか?例として、シングルトンになりたいモデルがあるとします。自己強制型のgetInstance()タイプのシングルトンではなく、コンテキスト強制型のシングルトン(「コンテキスト」ごとに1つのインスタンス)。私は次のようなことをしたいのですが...
そして、mymodelをMyModelクラスのインスタンスにします。これを複数のモジュールで行う場合は、mymodelを同じ共有インスタンスにします。
mymodelモジュールを次のように作成することで、この作業を成功させました。
このタイプの使用法は予想され、一般的ですか、それともRequireJSを悪用していますか?RequireJSを使用して依存性注入を実行するためのより適切な方法はありますか?ご協力いただきありがとうございます。まだこれを把握しようとしています。
backbone.js - Backbone.jsルーターを使用してrequire.jsでモジュール化されたビューをナビゲートする
ビューとルーターをrequireを使用して別々のファイルに分割しています。次に、ルーターをインスタンス化し、デフォルトのビューをレンダリングするmain.jsファイルがあります。
私のルーターには、ルートとしてビュー('View /:id')と編集('Edit /:id')があります。main.jsで、ルーターをインスタンス化すると、router.navigate('View / 1'、true)をハードコーディングでき、ナビゲーションは正常に機能します。ビューファイルで、編集リンクをクリックしたときに、router.navigate('View /'+ id、true)を呼び出したいのですが、これをどのように行うべきかわかりません。
Backbone.history.navigate('View /'+ id、true)の呼び出しに成功しましたが、グローバルBackboneオブジェクトに依存する必要があるとは思いません。
this.options.router.navigate()を使用できるように、ビューに({router:appRouter})を渡してみましたが、うまくいきませんでした。
気になる方のために、私のアプリのコードをいくつか紹介します。
ルーター:
意見:
javascript - BackboneJSサイト構造
わかりました。私はこのbackboneJS全体に頭を悩ませようとしています。この例で説明されているように、サイトをモジュールに分割し、各モジュールをモデル、コレクション、およびビューに分割する必要があることを理解しています。
私のJSファイル構造は現在次のようになっています。
2つの質問があります:
すべてのアプリケーションロジックをBackboneJSから制御する必要がありますか?そうでない場合、この個別のロジックはアプリケーション構造のどこにあるべきですか?確かに、バックボーンはクライアント側のすべてのアクティビティを制御することはできません。コレクションを含まないアクティビティはどうですか?
BackboneJSを使用する場合、モジュールを管理するためにRequireJSを使用する必要がありますか?私はこの例を見つけましたが、Backboneのすでに混乱している概念をさらに複雑にしているようです。
私は非常にjavascriptの重いアプリに着手しようとしていますが、コードがきのこになり始める前にこれを取得したいと思っています。
node.js - msbuild 経由の Require.js オプティマイザは機能しませんが、コマンド ラインで直接実行すると機能します
私のコードでは、次のコマンドがpowershellプロンプトで実行されました
正常に動作し、次を出力します
msbuild経由で次のようになります
何か案は?
requirejs - AMDモジュールでは、define()内でrequire()を使用してもよいのはいつ(またはなぜ)ですか?
AMDモジュール(たとえば、RequireJsまたはcurl.jsを使用)についての私の理解は次のとおりです。
require()
は異なるモジュールを非同期的にロードするために使用され、ロードされるとコールバックfnが実行されます。
また、モジュールを定義するには、を使用する個別のスクリプトが必要です。define()
require()
しかし、いくつかのモジュールが関数定義内で使用されているのを見てきました。
しかし、モジュールに依存関係がある場合、上記の例のようにモジュールdefine([dependancies], fnDefinition)
内ではなく、main関数を介して渡されるべきだと思ったので、これは混乱を招きます。require()
この背後にある理由はありますか?
backbone.js - backback.js-require.jsで必要なときに.jsファイルをロードする
require.js http://backbonetutorials.com/organizing-backbone-using-modules/を使用してファイルを整理し、ファイルをロードする方法に関する興味深いリンクを見つけました。この例で私が抱えている唯一の問題は、最初にすべてをロードすることです。非同期でも。必要なときにだけ.jsファイルをロードできるかどうか疑問に思っていました...たとえば、プロジェクトリスト(http://backbonetutorials.com/examples/modular-backbone/#/projects)をクリックすると、どれがチェックされますか?現在のURLで、その後projects.jsとlist.jsをロードします。小さなアプリの場合は問題ありませんが、大きなクラスの大きなアプリの場合は、すべてのクラスがロードされるまでに時間がかかることがあります。ブラウザ、すべてのルーター用。
requirejs - AMD(特にRequireJs)は複数のモジュール間の依存関係をどのように処理しますか
require()を呼び出すメインの初期化スクリプトがあり、依存関係の1つはユーティリティフレームワークですが、require()を介して指定している他のモジュールのいくつかも、このフレームワークを依存関係として定義しています。
例(init.js):
そして、'module-a'で私は持っています:
では、AMD / RequireJsはこのシナリオをどのように処理しますか?同じフレームワークを2回ロードしますか?
助けていただければ幸いです。
よろしく、マーク
jquery - RequireJS依存関係チェーンの何が問題になっていますか?
RequireJSを使い始めたばかりですが、依存関係を正しく表現していないようです。私はかなり単純な依存関係チェーンをマッピングしようとしています:
KnockoutJS
に依存するにjquery-tmpl
依存するjquery
使用しないようにしていますrequire-jquery
。私のHTMLでは、これを行います。
私のmain.js
:
私のrequire-jquery-tmpl.js
:
私のrequire-knockout.js
:
そして最後にmyApp.js
:
私が見ているのは、knockout-1.2.1.jsがjquery-tmpl.jsの前にロードおよび評価されていることです。console.log
sは、の前に発生することを示しているためinit tmpl
、init ko
RequireJSコールバックは正しい順序で発生しています。しかし、Knockoutにいくつかのデバッグログを追加したところ、それが発生する前に評価されていることがわかりましたinit tmpl
。
その結果、しようとするとko.applyBindings()
、jQueryテンプレートが見つからないと文句を言います。面白いことに、コールバックにデフォルトのテンプレートエンジンを登録するように手動でKOに指示すると、正常に動作し、すべてが完璧になります。しかし、それは核心的な問題を覆い隠しているだけだと思います。
Knockoutを評価する前にjquery-tmplがロードされるまでRequireJSが待機しないのはなぜですか?
css - RequireJS:テンプレートやCSSを含むモジュールの読み込み
AMD / RequireJSで遊んだ後、テンプレートやCSSを含むUIモジュールをロードして、Webページから完全に独立させるのは良い考えかどうか疑問に思いました。
良さそうに聞こえますが、これが実際に実装されているのを見たことがないので、落とし穴があるかもしれません。
次の構造のUIモジュールについて考えてみます。
すべてのものが1つのフォルダにあります。とても素敵に見えます。
main.jsのモジュールは次のようになります。
質問は次のとおりです。
- 私は何かが足りないのですか?
- これを「標準」の方法で実現するためのプラグイン/コンセプトはありますか?
- RequireJSオプティマイザーはここでCSSパーツを処理できますか?たとえば、JSパーツの場合と同じように、スタイルシートを連結/縮小しますか?
- それについて何か意見はありますか?良いか悪いか?