ホームページ > ウェブフロントエンド > htmlチュートリアル > requireJS は、同じ HTML/JSP ページに異なるバージョンの jquery_html/css_WEB-ITnose をロードします

requireJS は、同じ HTML/JSP ページに異なるバージョンの jquery_html/css_WEB-ITnose をロードします

WBOY
リリース: 2016-06-24 11:53:40
オリジナル
1362 人が閲覧しました

requireJS は JS モジュール化をサポートしており、同じ HTML/JSP ページに異なるバージョンのモジュールをロードすることもできます。この機能は素晴らしいものです。複数のバージョンの jquery をロードする方法を見てみましょう。 HTML ページで、data-main 属性エントリ ファイルが main.js であり、ファイルが格納されるディレクトリ構造が次のとおりであるとします。 /

demo1.js

demo2.js

libs/

js このマルチコンテキストのアプローチにより、複数バージョンのモジュールの共存を実装できます。しかし、これは次の 2 つの問題にもつながります:

1. 異なるコンテキストでロードされたモジュールが同じで、同じバージョン (同じ js ファイル) である場合はどうなりますか? この js ファイルは複数回ダウンロードされますか?

結論: httpwatch の観察を通じて、

異なるコンテキストが同じ js ファイルをロードする場合、この js ファイルは複数回ダウンロードされることになります

。明らかにこれは無駄です。

2. 両方のコンテキストに jquery-1.10.1 バージョンが必要な場合、js のみが確実にダウンロードされるようにするにはどうすればよいでしょうか?

結論: 共通のモジュールと各コンテキストを格納するために、親クラスと同様のコンテキストを定義できます。にアクセスできます。

//创建1个contextvar reqOne = requirejs.config({	baseUrl: 'scripts/libs/',	context:"context1",	paths:{		jquery: 'jquery-1.10.2'	}});		reqOne(['jquery'],		function($) {			console.log("v1=" + $().jquery);											});//创建1个context		var reqTwo  = requirejs.config({	baseUrl: 'scripts/libs/',	context:"context2",	paths:{		jquery: 'jquery-2.1.1'	}});	reqTwo(['require','jquery'],		function(require,$) {					console.log("v1=" + $().jquery);												});
ログイン後にコピー
httpwatch を観察すると、demo1.js は 1 回だけダウンロードされ、同じファイルを複数回ダウンロードする問題が解決されることがわかります。

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート