4

私は JavaScript の世界にまったく慣れていません (特にライブラリに関しては)。それらのかなりの数はrequire('libName')、ライブラリを Web ページ/アプリケーションに統合する方法として使用するように指示しています。誰かがそれがどのように機能し、これをどのように実装するかを説明してもらえますか? デフォルトでは require() は機能しません。

4

3 に答える 3

4

ブラウザの JavaScript には機能がありませんrequire。この機能は、CommonJSAMDという 2 つの最も一般的な仕様に従って、外部ライブラリによって提供されます。両方のパターンでうまく機能するRequireJSを見てください。

サーバー上の JavaScript (NodeJS) は、デフォルトで CommonJS 仕様を使用します。

于 2013-02-23T23:46:18.663 に答える
3

これは非常に軽量なrequireです:

var require = function(src, success, failure){
    !function(source, success_cb, failure_cb){
            var script = document.createElement('script');
            script.async = true; script.type = 'text/javascript'; script.src = source;
            script.onload = success_cb || function(e){};
            script.onerror = failure_cb || function(e){};
            (document.getElementsByTagName('head')[0] || document.getElementsByTagName('body')[0]).appendChild(script);
    }(src, success, failure);
}

require('js/jquery.js', function(){
    console.log('jQuery is ready to use');
}, function(){
    console.log("Something went wrong loading this script");
});
于 2013-02-24T00:27:55.203 に答える
2

Require は、自分で作成する手作りの関数か、ページ上の他の JS の前にロードするライブラリの一部です。

たとえば、RequireJS は、依存関係の読み込み (および必要に応じて名前空間) のみを処理するライブラリです。

onloadプログラムでページ (または IE の古いバージョン) に挿入する script タグからのイベントを使用することで、非常に簡単に独自のものを作成できますonreadystatechange。サポートする非常に古いブラウザーの数に応じて、いくつかのフォールバックを使用できます。

「Promises」のパターンを学習することで、モジュールの途中で依存関係を要求することもできます。

繰り返しますが、さまざまなライブラリがさまざまな方法でこれをサポートしています。

于 2013-02-23T23:46:48.140 に答える