可使用 config
方法來配置seajs。html
seajs.config({
alias: { //~~~相似requirejs的paths
'es5-safe': 'es5-safe/0.9.2/es5-safe',
'json': 'json/1.0.1/json',
'jquery': 'jquery/1.7.1/jquery'
},
preload: [
Function.prototype.bind ? '' : 'es5-safe',
this.JSON ? '' : 'json'
],
debug: true,
map: [
['http://example.com/js/app/', 'http://localhost/js/app/']
],
base: 'http://example.com/path/to/libs/', //~~~相似requirejs的baseUrl
charset: 'utf-8',
timeout: 20000
});
支持如下配置選項:jquery
當模塊標識很長時,可使用 alias
配置來簡化。~~~設置路徑別名json
seajs.config({
alias: {
'app': 'http://path/to/app',
'jquery': 'jquery/1.7.1/jquery'
}
});
a.js:bootstrap
define(function(require, exports, module) {
var $ = require('jquery');
//=> http://path/to/libs/jquery/1.7.1/jquery.js
var biz = require('app/biz');
//=> http://path/to/app/biz.js
});
解析某個模塊標識時,若是不想解析別名,能夠在標識前面添加一個井號(#
):瀏覽器
define(function(require, exports, module) {
var $ = require('#jquery');
//=> http://path/to/libs/jquery.js
});
使用 preload
配置項,能夠在普通模塊加載前,提早加載並初始化好特定模塊。app
// 在老瀏覽器中,提早加載好 ES5 和 json 模塊:
seajs.config({
preload: [
Function.prototype.bind ? '' : 'es5-safe',
this.JSON ? '' : 'json'
]
});
preload 中的空字符串會被忽略掉。ide
值爲 true
時,加載器會使用 console.log
輸出全部警告和錯誤。 默認爲 false
, 加載器只拋出異常。requirejs
另外,還能夠將 debug
值設爲 2
. 這種狀況下, 每一個腳本請求都會加上惟一時間戳。這在測試期間頗有用,能夠強制瀏覽器每次都請求最新版本。測試
該配置可將某個文件映射到另外一個。可用於在線調試,很是方便。更多信息,請參考 映射插件。ui
SeaJS 在解析頂級標識時,會相對 base
路徑來解析。詳情請參閱 頂級標識。
** 注意:請不要配置 base 路徑,除非加載器沒法自動獲取。詳情請參考 加載方式。
獲取模塊文件時,<script>
標籤的 charset
屬性。 默認是 utf-8
。
加載器等待腳本加載的最長時間。單位爲毫秒,默認值是 20000(20秒)。
爲了不衝突,或者須要定製全局命名空間以符合本身的口味時,可使用 noConflict
方法來實現。 ~~~相似jquery.noConflict
var myLoader = seajs.noConflict(); myLoader.use('./main'); /* main.js */ define(function(require, exports, module) { // snip... });
還能夠經過給該方法傳遞 true
,來釋放 define 方法。 不多會有這麼作的必要, 請三思然後行。
var myLoader = seajs.noConflict(true); myLoader.use('./main'); /* main.js */ myLoader.define(function(require, exports, module) { // snip... });