jQuery を内部で使用する JavaScript ライブラリに取り組んでいます。ただし、その展開の時が来たら、環境に jQuery が既に含まれている (または含まれていない) かどうかを気にせずに、物事 (wrt 展開) を簡素化することを好み<head>
ます。
私のライブラリは Coffescript のクラスとして実装されており、結果の .js ファイルには、スコープを分離するためのデフォルトの関数ラッパーが含まれています。
この問題に対するいくつかの解決策を考えることができます。
jQuery が既に存在するかどうか、Web サイトの管理者に問い合わせてください。はいの場合は、ライブラリ自体を含めてください。そうでない場合は、jQuery + ライブラリを、おそらく単一のファイルに含めて連結します。展開は難しくなりますが、問題は解決される可能性があります。
jQuery と私の lib コードを連結するファイルを作成し、常に Web サイト管理者にこのファイルを含めてもらいます。衝突を防ぐため
var myJ = jQuery.noConflict()
に、jQuery コードの直後に実行します。上記の (2) と同様に行いますが
var myJ = jQuery.noConflict()
、カプセル化された Coffeescript クラス内で呼び出します。
要約すると、この課題の目的は次のとおりです。
- 使用している可能性があるものに関係なく、展開された Web サイトの破損を絶対に回避します。
- 導入はできるだけシンプルに
- 可能であれば、jQuery の不必要な転送を避ける
私の懸念は次のとおりです。
- サイトに既に jQuery があるが、古いバージョンまたは新しいバージョンが必要な場合はどうなりますか?
- 私の
noConflict()
通話が彼らの側で何かを壊した場合はどうなりますか?
この状況に対処する最善の方法は何ですか? 何か不足していますか?