seajs.config構成
15211 ワード
Sea.jsが構成するseajs.config
コンフィギュレーション
Seaに対してjsはモジュールの作成、開発デバッグをより便利にするように構成されています.
seajs.config
構成に使用する方法.
次の構成オプションをサポートします.
alias
モジュール識別が長い場合、
paths
ディレクトリが比較的深い場合、またはディレクトリ間呼び出しモジュールが必要な場合、
vars
一部のシナリオでは、モジュールパスは実行時に決定されない場合があります.この場合、
map
この構成では、モジュールパスをマッピング変更し、パス変換、オンラインデバッグなどに使用できます.
詳細は、「デバッグの実践」を参照してください.
preload
注:
debug
値が
base
Sea.jsは、トップレベル識別を解析する際に、
注意:一般的には
charset
モジュールファイルを取得する場合、
ヒント
複数構成の自動連結
上の2つの
すなわち,
プラグインの構成
プラグインはSeaに与えることができる.jsは構成項目を追加します.詳細なプラグインを参照してください.
プロファイル
構成はhtmlページに直接書くことも、独立してファイルになることもできます.
config.js
独立して1つのファイルにする場合、scriptラベルを使用してページに同期して導入されます.
よく使われるコンフィギュレーション項目は
コンフィギュレーション
Seaに対してjsはモジュールの作成、開発デバッグをより便利にするように構成されています.
seajs.config
seajs.config(options)
構成に使用する方法.
seajs.config({
//
alias: {
'es5-safe': 'gallery/es5-safe/0.9.3/es5-safe',
'json': 'gallery/json/1.0.2/json',
'jquery': 'jquery/jquery/1.10.1/jquery'
},
//
paths: {
'gallery': 'https://a.alipayobjects.com/gallery'
},
//
vars: {
'locale': 'zh-cn'
},
//
map: [
['http://example.com/js/app/', 'http://localhost/js/app/']
],
//
preload: [
Function.prototype.bind ? '' : 'es5-safe',
this.JSON ? '' : 'json'
],
//
debug: true,
// Sea.js
base: 'http://example.com/path/to/base/',
//
charset: 'utf-8'
});
次の構成オプションをサポートします.
alias
Object
モジュール識別が長い場合、
alias
を使用して簡略化することができる.seajs.config({
alias: {
'jquery': 'jquery/jquery/1.10.1/jquery',
'app/biz': 'http://path/to/app/biz.js',
}
});
define(function(require, exports, module) {
var $ = require('jquery');
//=> http://path/to/base/jquery/jquery/1.10.1/jquery.js
var biz = require('app/biz');
//=> http://path/to/app/biz.js
});
alias
を使用すると、ファイルの実際のパスと呼び出しIDを分離することができ、統一的なメンテナンスに役立ちます.paths
Object
ディレクトリが比較的深い場合、またはディレクトリ間呼び出しモジュールが必要な場合、
paths
を使用して書き込みを簡略化することができる.seajs.config({
paths: {
'gallery': 'https://a.alipayobjects.com/gallery',
'app': 'path/to/app',
}
});
define(function(require, exports, module) {
var underscore = require('gallery/underscore');
//=> https://a.alipayobjects.com/gallery/underscore.js
var biz = require('app/biz');
//=> path/to/app/biz.js
});
paths
の構成はalias
の構成と組み合わせて使用でき、モジュールリファレンスを非常に便利にします.vars
Object
一部のシナリオでは、モジュールパスは実行時に決定されない場合があります.この場合、
vars
変数を使用して構成できます.seajs.config({
vars: {
'locale': 'zh-cn'
}
});
define(function(require, exports, module) {
var lang = require('./i18n/{locale}.js');
//=> path/to/i18n/zh-cn.js
});
vars
はモジュール識別における変数値を構成し、モジュール識別には{key}
で変数を表す.map
Array
この構成では、モジュールパスをマッピング変更し、パス変換、オンラインデバッグなどに使用できます.
seajs.config({
map: [
[ '.js', '-debug.js' ]
]
});
define(function(require, exports, module) {
var a = require('./a');
//=> path/to/a-debug.js
});
詳細は、「デバッグの実践」を参照してください.
preload
Array
preload
コンフィギュレーション・アイテムを使用すると、通常のモジュールがロードされる前に、指定されたモジュールを事前にロードして初期化できます.// , ES5 json
seajs.config({
preload: [
Function.prototype.bind ? '' : 'es5-safe',
this.JSON ? '' : 'json'
]
});
preload
の空の文字列は無視されます.注:
preload
の構成は、use
までロードする必要があります.例:seajs.config({
preload: 'a'
});
// b , a
seajs.use('./b');
preload
の構成はモジュールファイルに入れられません.seajs.config({
preload: 'a'
});
define(function(require, exports) {
// , a
});
debug
Boolean
値が
true
の場合、ローダは動的に挿入されたscriptラベルを削除しません.プラグインはdebug構成に基づいてlogなどの情報の出力を決定することもできる.base
String
Sea.jsは、トップレベル識別を解析する際に、
base
パスに対して解析する.詳細はモジュールIDを参照してください注意:一般的には
base
パスを構成しないでください.sea.js
を適切なパスに置くと、より簡単に一致します.charset
String | Function
モジュールファイルを取得する場合、
<script>
または<link>
ラベルのcharset
属性.デフォルトはutf-8
charset
はまた、関数であってもよい.seajs.config({
charset: function(url) {
// xxx gbk
if (url.indexOf('http://example.com/js/xxx') === 0) {
return 'gbk';
}
// utf-8
return 'utf-8';
}
});
ヒント
複数構成の自動連結
seajs.config
は複数回実行できます.実行するたびに、構成項目がマージされます.seajs.config({
alias: {
'jquery': 'path/to/jquery.js',
'a': 'path/to/a.js'
},
preload: ['seajs-text']
});
seajs.config({
alias: {
'underscore': 'path/to/underscore.js',
'a': 'path/to/biz/a.js'
},
preload: ['seajs-combo']
});
上の2つの
config
が実行された結果は、次のとおりです. alias = {
'jquery': 'path/to/jquery.js',
'underscore': 'path/to/underscore.js',
'a': 'path/to/biz/a.js'
};
preload = ['seajs-text', 'seajs-combo'];
すなわち,
config
は存在しないものを自動的にマージし,存在するものを上書きする.プラグインの構成
プラグインはSeaに与えることができる.jsは構成項目を追加します.詳細なプラグインを参照してください.
プロファイル
構成はhtmlページに直接書くことも、独立してファイルになることもできます.
config.js
seajs.config({
...
});
独立して1つのファイルにする場合、scriptラベルを使用してページに同期して導入されます.
よく使われるコンフィギュレーション項目は
alias
、paths
、base
で、その他のコンフィギュレーション項目が必要な場合は、ドキュメントを調べて使用します.