web-dev-qa-db-ja.com

RequireJSを使用しているときにCDNからサードパーティのJavaScriptをロードするにはどうすればよいですか?

私は依存関係の管理にRequireJSを使用してきましたが、それが大好きだと言わなければなりません。JavaScriptは最近本当に成熟しています。

ただし、理解できないことが1つあります。オプティマイザーを使用して、すべてのJavaScriptモジュールを1つのファイルにバンドルする場合、サードパーティのスクリプト(jqueryなど)をバンドルする代わりに、外部CDNURLからロードし続けるにはどうすればよいですか。私のアプリケーションコードで?

24
SoftMemes

これにより、CDNからjQueryが読み込まれます。

<script src="http://requirejs.org/docs/release/2.1.5/comments/require.js"></script>
<script type="text/javascript">
  require.config({
    paths: {
        "jquery": "https://ajax.googleapis.com/ajax/libs/jquery/1.8.1/jquery.min"
    },
    waitSeconds: 40
  });
</script>

<div id="message">hello</div>

<script type="text/javascript">
  require( ["jquery"],
    function ($) {
      alert($.fn.jquery + "\n" + $("#message").text());
    }
  );
</script>

ここでフィドル

この requirejs docsのページ は、最適化されたビルドからパスを削除する方法を示しています。基本的にはempty:スキームを使用します。ここからの抜粋:

node ../../r.js -o name=main out=main-built.js baseUrl=. paths.jquery=empty:
34
Paul Grime