1. ホーム
  2. javascript

[解決済み] Require.jsと、単にDOMに<script>要素を作成することの違いは何でしょうか?[クローズド]

2022-06-04 20:49:13

質問

Require.JSを使う場合と、単に <script> 要素を作成するのとでは何が違うのでしょうか?

私のRequire.JSの理解は、依存関係をロードする機能を提供することですが、これは単純に <script> 要素を作成して、必要な外部 JS ファイルを読み込ませることはできないのでしょうか?

例えば doStuff() という関数があり、この関数には needMe() . doStuff() は外部ファイル do_stuff.js であるのに対し needMe() は外部ファイル need_me.js .

Require.JSの方法で行う。

define(['need_me'],function(){
    function doStuff(){
        //do some stuff
        needMe();
        //do some more stuff
    }
});

script要素を作るだけでこれを行う。

function doStuff(){
    var scriptElement  = document.createElement('script');
    scriptElement.src = 'need_me.js';
    scriptElement.type = 'text/javascript';
    document.getElementsByTagName('head')[0].appendChild(scriptElement);

    //do some stuff
    needMe();
    //do some more stuff
}

これらは両方とも動作します。しかし、2番目のバージョンでは、Require.jsライブラリのすべてを読み込む必要がありません。機能的な違いはよくわからないのですが...。

どのように解決するのですか?

ajaxian.comの記事で、なぜそれを使うのかが紹介されています。

RequireJS: 非同期JavaScriptローディング

  • ある種の #include/import/require です。
  • ネストされた依存関係をロードする機能
  • 開発者にとって使いやすいだけでなく、デプロイメントを支援する最適化ツールに支えられています。