非公式ドキュメントは、簡単に参照できるように、独自の 公式 ドキュメントのテキストと例から編集されています。
Sea.js を使用する理由?
Sea.js は、コードを記述して編成するシンプルで自然な方法を追求しており、次の主要な機能を備えています。
シンプルでフレンドリーなモジュール定義仕様: Sea.js は CMD 仕様に従っており、Node.js と同様のモジュール コードを作成できます。
自然で直感的なコード構成: 依存関係の自動読み込みと簡潔で明確な構成により、コーディングをさらに楽しむことができます。
Sea.js は、開発、デバッグ、パフォーマンスの最適化に非常に役立ち、豊富な拡張可能なインターフェイスを備えた一般的に使用されるプラグインも提供します。
互換性
Sea.js には完全なテスト ケースがあり、すべての主要なブラウザーと互換性があります:
Chrome 3+
Firefox 2 以降
Safari 3.2+
オペラ 10+
IE 5.5+
Sea.js は、ハイブリッド モード アプリを含め、モバイル側で実行できます。理論上、Sea.js はどのブラウザ エンジンでも実行できます。
seajs.configObject
エイリアス オブジェクト
エイリアス設定、設定後、モジュール内で require を使用して require('jquery');
seajs.config({ alias: { 'jquery': 'jquery/jquery/1.10.1/jquery' } });
define(function(require, exports, module) { //引用jQuery模块 var $ = require('jquery'); });
パス オブジェクト
ディレクトリ間の呼び出しを容易にするパスを設定します。パスを柔軟に設定することで、ベースに影響を与えることなくディレクトリを指定できます。
seajs.config({ //设置路径 paths: { 'gallery': 'https://a.alipayobjects.com/gallery' }, // 设置别名,方便调用 alias: { 'underscore': 'gallery/underscore' } });
define(function(require, exports, module) { var _ = require('underscore'); //=> 加载的是 https://a.alipayobjects.com/gallery/underscore.js });
vars オブジェクト
変数設定。一部のシナリオでは、モジュール パスは実行時にのみ決定できます。この場合、vars 変数を使用して構成できます。
vars はモジュール識別子の変数値を構成し、{key} はモジュール識別子の変数を表すために使用されます。
seajs.config({ // 变量配置 vars: { 'locale': 'zh-cn' } });
define(function(require, exports, module) { var lang = require('./i18n/{locale}.js'); //=> 加载的是 path/to/i18n/zh-cn.js });
マップ 配列
この構成はモジュール パスのマッピングと変更が可能で、パス変換やオンライン デバッグなどに使用できます。
seajs.config({ map: [ [ '.js', '-debug.js' ] ] });
define(function(require, exports, module) { var a = require('./a'); //=> 加载的是 path/to/a-debug.js });
プリロード 配列
プリロード設定項目を使用すると、通常のモジュールをロードする前に、指定したモジュールを事前にロードして初期化することができます。
プリロード内の空の文字列は無視されます。
// 在老浏览器中,提前加载好 ES5 和 json 模块 seajs.config({ preload: [ Function.prototype.bind ? '' : 'es5-safe', this.JSON ? '' : 'json' ] });
注: プリロードの設定は、ロードする前に使用されるまで待つ必要があります。例:
seajs.config({ preload: 'a' }); // 在加载 b 之前,会确保模块 a 已经加载并执行好 seajs.use('./b');
プリロード構成はモジュール ファイルに配置できません:
seajs.config({ preload: 'a' }); define(function(require, exports) { // 此处执行时,不能保证模块 a 已经加载并执行好 });
デバッグ ブール値
値が true の場合、ローダーは動的に挿入されたスクリプト タグを削除しません。プラグインは、デバッグ設定に基づいてログやその他の情報の出力を決定することもできます。
ベース文字列
Sea.js がトップレベルの識別子を解析するとき、ベース パスを基準にして解析されます。
注: 通常、ベース パスは設定しないでください。多くの場合、sea.js を適切なパスに配置する方が簡単で一貫性が高くなります。
関数
モジュールファイルを取得するとき、