8

jQuery の $.ajax() 関数を使用する非常に基本的な JavaScript ライブラリを作成しています。

この依存関係をどのように管理すればよいですか? ライブラリのユーザーに jQuery 自体を含めるように指示する必要がありますか? ライブラリ内に jQuery をロードするには、RequireJS やスクリプト タグの挿入などを使用する必要がありますか? 後者の方が良い場合、ユーザーがすでに jQuery を使用している場合、競合を引き起こさずにこれを行うにはどうすればよいですか?

4

3 に答える 3

2

jQuery以外の依存関係があるかどうかは、ちょっと依存していると思います。

jQuery が唯一の依存関係であり、ライブラリが独自のモジュール依存関係システムを本当に必要としない場合、RequireJS はお勧めしません。ライブラリに jQuery が存在するかどうかを確認し、それ以外の場合はエラーをスローします。

ただし、柔軟で保守可能なライブラリを作成しようとしている場合は、モジュール ローダー (RequireJS など) を使用することをお勧めします。これにより、ライブラリを結合してパックできるビルド システムを使用する利点も得られます。

于 2013-04-23T18:32:07.587 に答える
1

元の投稿で私が推奨したばかげた小さな方法で、 JSON データをフェッチする独自の関数を作成することになりました。返信してくれたみんなに感謝します。JavaScript ライブラリの依存関係に関するガイダンスは非常に役に立ちましたが、私は別の道をたどりました。

JSON をフェッチする独自の関数を作成するためのガイドとして、このスタック オーバーフローの回答を使用しました。データを同期的にフェッチする必要があったため、この別の記事で概説されているヒントを使用して関数を調整しました。

最終的に、私の関数はこのようになりました。一緒に来る他の誰かに役立つことを願っています。

var fetchJSON = function(path, callback) {
  var httpRequest = new XMLHttpRequest();
  httpRequest.open('GET', path, false);
  httpRequest.send();
  if (httpRequest.readyState === 4) {
    if (httpRequest.status === 200) {
      var data = JSON.parse(httpRequest.responseText);
      if (callback) callback(data);
    }
  }
}
于 2013-04-23T20:26:22.003 に答える