ホームページ ウェブフロントエンド jsチュートリアル AMD 非同期モジュール定義の概要と、Require.js_jquery での jQuery および jQuery プラグインの使用方法

AMD 非同期モジュール定義の概要と、Require.js_jquery での jQuery および jQuery プラグインの使用方法

May 16, 2016 pm 04:45 PM
amd jquery

AMD モジュール

AMD (非同期モジュール定義) フォーマットの全体的な目標は、現在の開発者に使用可能なモジュール型 JavaScript ソリューションを提供することです。

AMD モジュール形式自体は、モジュールと依存関係の両方を非同期でロードできるようにモジュールを定義する方法の提案です。これには、本質的に非同期で柔軟性が高いなど、多くの独自の利点があり、一般的なコードとモジュール ID 間の緊密な結合を解消できます。 jQuery (1.7) を含む多くのプロジェクトで採用されています。

RequireJS

RequireJS は、主にクライアントモジュール管理に使用されるツールライブラリです。これにより、クライアント コードを非同期または動的読み込み用のモジュールに分割できるため、コードのパフォーマンスと保守性が向上します。そのモジュール管理は AMD 仕様に準拠しています。

AMD の jQuery サポート

jQuery 1.7 では、jQuery を AMD 非同期モジュールとして登録するサポートが開始されます。非同期モジュール形式を使用してモジュールをロードできる、互換性のあるスクリプト ローダー (RequireJS やcurl など) が多数あります。つまり、すべてを機能させるのに多くのハッキングは必要ありません。 jQuery 1.7 のソース コードを確認できます:

コードをコピーします コードは次のとおりです:

// jQuery を AMD モジュールとして公開します。ただし、
// ページ内で複数のバージョンの jQuery
// を読み込む際の問題を理解している AMD ローダーのみが対象で、すべてが define() を呼び出す可能性があります。ローダーは、
//define.amd.jQuery = true を指定することで、複数の jQuery バージョンに特別な許可があることを示します。
// jQuery は他のモジュールと連結できるため、名前付きモジュールとして登録します。これらのファイルは、define,
// を使用する可能性がありますが、匿名
// AMD モジュールを理解する適切な連結スクリプトは使用しません。名前付き AMD が最も安全で堅牢な登録方法です。
// 小文字の jquery が使用されます。 AMD モジュール名は
// ファイル名から派生しており、jQuery は通常小文字のファイル名で提供されるためです。
if ( typeofdefine === "function" &&define.amd &&define.amd.jQuery ) {
define( "jquery ", [], function () { return jQuery; } );
}

これが機能する仕組みは、使用されるスクリプト ローダーが、プロパティ、define.amd.jQuery を true に指定することで、複数の jQuery バージョンをサポートできることを示すことです。特定の実装の詳細を知りたい場合は、jQuery を名前付きモジュールとして登録できます。これは、AMD の define() メソッドを使用する他のファイルと一緒に結合されるリスクがあるためです。適切なステッチング スクリプトを使用しないと、匿名の AMD モジュール定義を理解します。

jQuery の上位バージョン (1.11.1) では、define.amd.jQuery の判定が削除されます:

コードをコピー コードは次のとおりです。
if ( typeof define === "function " && .amd を定義します) {
define( "jquery", [], function() {
return jQuery;
});
}

Require.js で jQuery を使用する

Require.js で jQuery を使用すると非常に便利です。次のように簡単に設定するだけです。

コードをコピー コードは次のとおりです:
// 簡単な構成
が必要です。 config( {

// RequireJS は相対パスbaseUrl を介してすべてのコードをロードします。baseUrl は通常、data-main 属性で指定されたスクリプトと同じレベルのディレクトリに設定されます。baseUrl: "./js",

// サードパーティのスクリプト モジュールのエイリアス。jquery は libs/jquery-1.11.1.min.js よりも簡潔で明確です。
パス: {

"jquery; ": "libs/jquery- 1.11.1.min.js"

}

});

// jQuery モジュールの使用を開始します
require([" jquery"], function ($ ) {

//コード
//次のような jquery メソッドをここで直接使用できます。 $( "#result" ).html( "Hello World!" );

});


Require.js で jQuery プラグインを使用する

jQuery は AMD API をサポートしていますが、これは jQuery プラグインが AMD とも互換性があることを意味するわけではありません。

一般的な jQuery プラグインの形式:


コードをコピー コードは次のとおりです: (関数($) {
$.fn.myPlugin = function () {
//独自のプラグイン コード
};
})(jQuery);

ただし、Require.js を使用して、わずかな変更を加えて jQuery プラグインをロードできます。
コードをコピーしますコードは次のとおりです:

;(function (factory) {
if (typeof define === "function" && define.amd) {
// AMD モード
define(["jquery"]、Factory);
} else { //プラグインCode
};
})

Require.js での jQuery UI コンポーネントの使用


Require.js での jQuery UI コンポーネントの使用は、jQuery Widget Factory コードを変更して jQuery UI の依存関係をロードするだけで同様です。例:

コードをコピー

コードは次のとおりです。

(function (widgetFactory) { if (typeof define === "function" && define.amd) { // AMD モード define("jquery.ui.widget", ["jquery"], function ( ) {
}
}
(function ($, unknown) {

// jQuery ウィジェット ファクトリ コード

}));

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

中国語版、とても使いやすい

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

OneXGPU 2 の AMD Radeon RX 7800M は Nvidia RTX 4070 ラップトップ GPU を上回ります OneXGPU 2 の AMD Radeon RX 7800M は Nvidia RTX 4070 ラップトップ GPU を上回ります Sep 09, 2024 am 06:35 AM

OneXGPU 2 は、AMD ですらまだ発表していない GPU である Radeon RX 7800M を搭載した最初の eGPU です。外部グラフィックス カード ソリューションのメーカーである One-Netbook によって明らかにされたように、新しい AMD GPU は RDNA 3 アーキテクチャに基づいており、Navi

ASUS、AMD Ryzen 9 8945H と興味深いお香ディスペンサーを搭載した Adol Book 14 Air を発表 ASUS、AMD Ryzen 9 8945H と興味深いお香ディスペンサーを搭載した Adol Book 14 Air を発表 Aug 01, 2024 am 11:12 AM

ASUSはすでに、Zenbook 14 OLED(Amazonで現在1,079.99ドル)を含むさまざまな14インチラップトップを提供しています。このたび、表面的には典型的な 14 インチのラップトップのように見える Adol Book 14 Air を導入することが決定しました。ただし、目立たないメタ

Ryzen AI ソフトウェアが新しい Strix Halo および Kraken Point AMD Ryzen プロセッサをサポート Ryzen AI ソフトウェアが新しい Strix Halo および Kraken Point AMD Ryzen プロセッサをサポート Aug 01, 2024 am 06:39 AM

AMD Strix Point ラップトップは市場に登場したばかりで、次世代の Strix Halo プロセッサは来年中にリリースされる予定です。ただし、同社はすでに Strix Halo および Krackan Point APU のサポートを Ryzen AI ソフトウェアに追加しています。

ハンドヘルドコンソール用AMD Z2 Extremeチップが2025年初頭の発売に向けて発表 ハンドヘルドコンソール用AMD Z2 Extremeチップが2025年初頭の発売に向けて発表 Sep 07, 2024 am 06:38 AM

AMDはRyzen Z1 Extreme(およびその非Extremeバージョン)をハンドヘルドゲーム機向けにカスタマイズしたにもかかわらず、このチップが主流のハンドヘルド機に搭載されたのはAsus ROG Ally(Amazonで現在569ドル)とLenovo Legion Go(3つ)の2つだけでした。 Rを数えると

AMD、数百万台のRyzenおよびEPYCプロセッサに影響する「Sinkclose」の重大度の高い脆弱性を発表 AMD、数百万台のRyzenおよびEPYCプロセッサに影響する「Sinkclose」の重大度の高い脆弱性を発表 Aug 10, 2024 pm 10:31 PM

8月10日の当サイトのニュースによると、AMDは一部のEPYCおよびRyzenプロセッサにコード「CVE-2023-31315」の「Sinkclose」と呼ばれる新たな脆弱性が存在し、世界中の数百万のAMDユーザーが関与する可能性があることを正式に確認したとのこと。では、シンククローズとは何でしょうか? 『WIRED』の報道によると、この脆弱性により侵入者は「システム管理モード(SMM)」で悪意のあるコードを実行することが可能になるという。伝えられるところによると、侵入者はブートキットと呼ばれるマルウェアの一種を使用して相手のシステムを制御する可能性があり、このマルウェアはウイルス対策ソフトウェアでは検出できません。このサイトからの注: システム管理モード (SMM) は、高度な電源管理とオペレーティング システムに依存しない機能を実現するために設計された特別な CPU 動作モードです。

Ryzen AI 9 HX 370 を搭載した初の Minisforum ミニ PC、高額で発売されると噂 Ryzen AI 9 HX 370 を搭載した初の Minisforum ミニ PC、高額で発売されると噂 Sep 29, 2024 am 06:05 AM

Aoostar は Strix Point mini PC を最初に発表した企業の 1 つであり、その後、Beelink が 999 ドルという高騰する開始価格で SER9 を発売しました。 Minisforum は、EliteMini AI370 をからかうことでパーティーに参加しました。その名前が示すように、これは会社の

取引 | 120Hz OLED、64GB RAM、AMD Ryzen 7 Pro を搭載した Lenovo ThinkPad P14s Gen 5 が現在 60% オフです 取引 | 120Hz OLED、64GB RAM、AMD Ryzen 7 Pro を搭載した Lenovo ThinkPad P14s Gen 5 が現在 60% オフです Sep 07, 2024 am 06:31 AM

最近、多くの学生が学校に戻り、古いラップトップがもう役に立たないことに気づいている人もいるかもしれません。大学生の中には、ゴージャスな OLED スクリーンを備えたハイエンドのビジネス ノートブックを市場に出す人もいるかもしれません。

Beelink SER9: Radeon 890M iGPU を搭載したコンパクト AMD Zen 5 ミニ PC が発表されましたが、eGPU オプションは限られていました Beelink SER9: Radeon 890M iGPU を搭載したコンパクト AMD Zen 5 ミニ PC が発表されましたが、eGPU オプションは限られていました Sep 12, 2024 pm 12:16 PM

Beelink は、新しいミニ PC と付属のアクセサリを猛烈な勢いで発表し続けています。要約すると、EQi12、EQR6、EX eGPU ドックをリリースしてから 1 か月強が経過しました。現在、同社は AMD の新しい Strix に注目しています。

See all articles