4

GWT ランドでは、「リンカー」と DFN コード分割の関係は何ですか? リンカがコード分割をサポートする必要があるのはなぜですか? また、一部のリンカがそれをサポートしていないのはなぜですか? アプリが使用するリンカーをどのように選択し、その決定にどのような要因が関係していますか?

4

1 に答える 1

12

プライマリ リンカー (セカンダリ リンカーもありますが、ここでは関係ありません) は、コンパイルされた JS コードをホストする *.js または *.html ファイルを作成し、もちろんそれらをブラウザーにブートストラップ/ロードする方法を担当します。 .

それがわかれば、コード分割を明示的にサポートする必要があることが明らかになります。

たとえば、xs(クロスサイト) リンカはスクリプト全体を匿名関数でラップするため、「グローバル スコープを汚染」しません (モジュール パターンとも呼ばれる手法)。その後、内部にアクセスできる他のスクリプトをページに動的に挿入することはできません。(sso単一スクリプト) リンカーにも同じ制限があります。

( stdiframe) リンカーは、サンドボックスとして機能する動的に作成された iframe にアプリを読み込みます。iframe のグローバル スコープは、ホスト ページのグローバル スコープではありません。次に、iframe 内にスクリプトを動的に挿入して、既に存在するすべてのもの (iframe のグローバル スコープ) にアクセスできます。

しかし実際には、アプリが使用するリンカーを選択する必要はありませんxsiframe。これは、リンカーのクロスサイト フレンドリ性とxsリンカーの iframe サンドボックスを組み合わせたものstdです。

他のすべてのリンカー (おそらくsso1 つを除く) は、将来の GWT リリースで非推奨になり、最終的には完全に削除されることが予想されます。リンカーは、デフォルトのリンカーとしてリンカーstdに置き換えられます。xsiframe

于 2012-09-07T11:42:46.743 に答える