1

jQuery と Raphael を必要とする小さな JS ライブラリに取り組んでいます。私はこの事実を README に文書化しましたが、これを使用するためにユーザーが手動で 3 つの JS ライブラリを含める必要があるという考えは好きではありません。

依存関係が見つからない場合、ライブラリに依存関係を動的に含めることの長所と短所は何ですか? そのようです:

if (!window.jQuery) {
    var _my_script=document.createElement('SCRIPT');
    _my_script.type='text/javascript';
    _my_script.src='//ajax.googleapis.com/ajax/libs/jquery/1.9.1/jquery.min.js?';
    document.getElementsByTagName('head')[0].appendChild(_my_script);
    console.log("Loaded jQuery");        
} else {
    console.log("jQuery already loaded");
}

// get Raphael if not found
if (typeof(Raphael) === "undefined") {
    var _my_script=document.createElement('SCRIPT');
    _my_script.type='text/javascript';
    _my_script.src='//cdnjs.cloudflare.com/ajax/libs/raphael/2.1.0/raphael-min.js?';
    document.getElementsByTagName('head')[0].appendChild(_my_script);
    console.log("Loaded Raphael");        
} else {
    console.log("Raphael already loaded");
}

コーシャ?

4

2 に答える 2

1

私は個人的に、「外部」の依存関係を自動的にダウンロードする js ライブラリを知りません。通常の場合、それは良い考えではないと思います。

必要なライブラリと最小限のバージョンを明確に表現するだけで十分であり、それが私が知っているすべての js ライブラリの仕組みです。

jQuery のようなライブラリは、CDN やローカルなどからダウンロードできるため、すべての人にソースとバージョンを強制することは意味がありません。

于 2013-02-18T16:20:52.387 に答える
1

backbone.js のような非常に人気のあるライブラリがこれを行わないことを私は知っています。

ライブラリがどのように機能しているかをユーザーに理解してもらうために、ユーザーにこれを強制する方がよいと思います。

一般に、通常、リソースの追加を処理する、ある種のリソース ローダーが利用可能です。これを個別に行うと、エンドユーザーが使用していると思われる機能のグループがばらばらになります。

于 2013-02-18T16:21:29.563 に答える