問題タブ [asynchronous-loader]

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 に答える
1605 参照

javascript - 非同期 JavaScript ローダーの推奨される使用法

lab.jsscript.jsなどの非同期 javascript ロード ライブラリを調べ始めました。私の質問は、このタイプの非同期読み込みパターンを使用するためのベスト プラクティスについてです。

私はいくつかの可能なセットアップを考えました:

  1. スクリプト タグを使用して、上部またはページで非同期ローダーを読み込みます。これにより、gzip とキャッシュが可能になりますが、この初期ロード中にブロックされます。これらのローダーはかなり小さいはずので、これはおそらく大したことではありません(それでも最初に css をロードする必要があります) ?

  2. 非同期ローダー コードを HTML にインラインで配置し、すぐに使用を開始して依存関係を読み込みます。これは、非同期ローダーに対する個別のリクエストがないため、おそらく少し高速ですが、gzip されてキャッシュされないため、毎回ロードする必要があることを意味します。

  3. スタイルシートなどが最初に読み込まれるように、ページの下部で JS の従来の読み込みを行います。ページの下部にあるブロッキング スクリプト タグに非同期ローダーを配置し、すべての依存関係を非同期的に読み込みます。

最もよく使用されるシナリオは何ですか? 人々は通常どのように js を非同期でロードしますか??

0 投票する
5 に答える
7806 参照

javascript - $(document).ready() で yepnope.js を効果的に使用するにはどうすればよいですか?

私は、yepnope スクリプト ローダーを modernizr.js ライブラリの一部として実装しています。その後、jQueryをロードし、jQueryに依存するスクリプトを正常に取得しました。私はリソースの非同期ロードに慣れていないので、少し新しいです。私は周りを探していましたが、次のことはあまりうまくいきませんでした。

私の質問は、yepnope.js フレームワークで作業するときに $(document).ready() の機能を効果的に置き換える方法についてのあなたの意見です。

私の理論は、ベース ライブラリに適切な名前の関数を作成し、その変数を既存の $(document).read() コードを含む無名関数に設定するというものでした。この変数は、すべてのスクリプトが完全なコールバックにロードされた後、yepnope によって呼び出されます。

これが良い方法であることに同意しますか、それとも私はこれに完全に間違った方法でアプローチしていますか?

(ご存じない方のために説明すると、yepnope.js の非同期性は、ドキュメントが yepnope ローダーが終了する前に $ または jQuery を呼び出し、「$ is undefined」エラーをスローすることを意味します <- 間違っている場合は修正してください。)

最初の質問です。良い質問であることを願っています。

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

javascript - ロードがタイムアウトした場合のコールバック関数の規定はLABJSにありますか?

LabJSを介して非同期でスクリプトをロードしており、依存するスクリプトのチェーンがあります。これで、チェーン内のスクリプトの1つが壊れた場合(ダウンロードできない、または接続がタイムアウトしたという意味で)、依存関係チェーンの下にある残りのスクリプトは実行されないと思います。このような場合、特定のスクリプトのロードに失敗した場合に適切な対策を講じるためのカスタムコールバック関数を提供することは可能ですか?これがLabJSで不可能な場合、他の非同期スクリプトローダーでも可能ですか?