私は依存関係の管理にRequireJSを使用してきましたが、それが大好きだと言わなければなりません。JavaScriptは最近本当に成熟しています。
ただし、理解できないことが1つあります。オプティマイザーを使用して、すべてのJavaScriptモジュールを1つのファイルにバンドルする場合、サードパーティのスクリプト(jqueryなど)をバンドルする代わりに、外部CDNURLからロードし続けるにはどうすればよいですか。私のアプリケーションコードで?
これにより、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: