關於base的默認路徑:
【官方說明】: 模塊系統的基礎路徑即 base 的默認值,與 sea.js 的訪問路徑相關: 若是 sea.js 的訪問路徑是: http://example.com/assets/sea.js
則 base 路徑爲: http://example.com/assets/
當 sea.js 的訪問路徑中含有版本號時,base 不會包含 seajs/x.y.z 字串。 當 sea.js 有多個版本時,這樣會很方便。
若是 sea.js 的路徑是: http://example.com/assets/seajs/1.0.0/sea.js
則 base 路徑是: http://example.com/assets/
seajs的默認路徑依賴:127.0.0.1/foo/assets/seajs/sea.js,當前sea.js所在的目錄或seajs文件夾所在的目錄【assets/】
其餘路徑的話須要從新設置路徑,好比127.0.0.1/foo/public/base/sea.js
我要設置public爲默認路徑,在config裏設置base:’./public’
‘./‘是當前默認目錄,當前默認目錄是網站根目錄開始
固然,也能夠手工配置 base 路徑:
seajs.config({
base: 'http://code.jquery.com/'
});
在模塊代碼裏:
require.resolve('jquery');
// => http://code.jquery.com/jquery.js
【注意】:通常請不要配置 base 路徑,把 sea.js 放在合適的路徑每每更簡單一致。
【參考】:https://github.com/seajs/seajs/issues/258jquery
引入後的調試方法:
alert(require.resolve('jquery'));
alert($); git
常見問題
問題一:
改變了jquery.js存放的目錄後,文件已經加載,但沒法引用。 這個是由於路徑於不匹配致使的。 你用的是從seajs官方下載的jquery源,它是打包好的cmd模塊,只不過比較特殊而已。ID 是 jquery/jquery/1.10.1/jquery,seajs的define默認ID是於路徑想匹配的,因此改變路徑後就引用不到。 若是是非官方的jquery源,你就必須本身處理,暴露出方法接口:github
jquery.js網站
define(function(require,exports,module) { module.exports = jQuery; });
main.jsui
define(function(require, exports, module) { var $ = require('jquery'); })
或者直接引用spa
define(function(require, exports, module) { require('jquery'); })
【參考】:https://github.com/seajs/seajs/issues/962調試