1

私はサードパーティの JavaScript アプリケーションに貢献しています。これを X と呼びましょう。Web サイトの所有者は、script タグを使用して X を自分のサイトに配置し、Y と呼びましょう。X はコンテンツをレンダリングしたり、イベントに応答したりします。 . Disqus のようなものを考えてみてください。

X は、Handlebars、Underscore.js などのライブラリに依存している可能性があります。Y に干渉しない方法でこれらの依存関係を解決するという問題に直面しています。ライブラリには、未定義の動作を引き起こす可能性のある 2 つのバージョンが存在するため、問題が発生する可能性があります。

では、このような状況に対処する最善の方法は何ですか?

4

1 に答える 1

0

Web サイトの所有者が X と同じ依存関係管理システムを使用することを保証できないので、条件付き読み込みを使用しないのはなぜですか? (例) window.jQuery が存在するかどうかを確認し、まだ定義されていない場合にのみ jQuery をロードします。適切に名前空間が設定されたサードパーティ コンポーネントについても同様です。ページの下部でライブラリをロードするようにユーザーに依頼する場合は、問題ありません。

明快さと速度のために、 http: //yepnopejs.com/のような条件付きローダーを使用できます。

または、必要なライブラリを自分で挿入するようにユーザーに要求できますか? 配布ポイントで依存関係を記述 (およびコードを提供) し、他の必要なライブラリがページにない場合は見栄えの良いエラー状態 (ダイアログ ボックス、console.log など) を提供します。

于 2012-12-05T03:26:32.160 に答える