為什么使用 Sea.js 滑肉?
Sea.js 追求簡單黍图、自然的代碼書寫和組織方式尼摹,具有以下核心特性:
簡單友好的模塊定義規(guī)范:Sea.js 遵循CMD規(guī)范,可以像Node.js一般書寫模塊代碼钉嘹。
自然直觀的代碼組織方式:依賴的自動(dòng)加載鸯乃、配置的簡潔清晰,可以讓我們更多地享受編碼的樂趣。
Sea.js 還提供常用插件缨睡,非常有助于開發(fā)調(diào)試和性能優(yōu)化鸟悴,并具有豐富的可擴(kuò)展接口。
兼容性
Sea.js 具備完善的測(cè)試用例奖年,兼容所有主流瀏覽器:
Chrome 3+? ? ? ? ?
Firefox 2+? ? ? ? ?
Safari 3.2+? ? ? ?
Opera 10+? ? ? ? ?
IE 5.5+? ? ? ? ? ?
Sea.js 可運(yùn)行在 Mobile 端细诸,包括 Hybrid 模式的 App 上。理論上陋守,Sea.js 可以運(yùn)行在任何瀏覽器引擎上震贵。
下面簡單的說一下我在實(shí)際項(xiàng)目中運(yùn)用sea.js的兩種方式
一:
假設(shè)有一個(gè)hello.html頁面,在hello.html頁尾水评,通過script引入sea.js后(sea.js可以去官網(wǎng)下載)猩系,有一段配置代碼:
// seajs 的簡單配置
seajs.config({
base:"../sea-modules/",
alias:{
? ? ?"jquery":"jquery/jquery/1.10.1/jquery.js"
? ? ? ?}
})
// 加載入口模塊
seajs.use("main.js")
main.js的代碼如下:
define(name,function(require,exports,module){
// 通過 require 引入依賴
var$=require('jquery');
var Spinning=require('./spinning');
// 通過 exports 對(duì)外提供接口
exports.doSomething=...
// 或者通過 module.exports 提供整個(gè)接口module.exports=...
});
二:
在html底部引入<script src='main.js'></script>(先要引入sea.js),或者直接將seajs.use()部分放在底部
main.js中的代碼結(jié)構(gòu)如下
seajs.use(name,function(name1){})//name是在你要引入的模塊中燥,
seajs中使用的name是在define中寫入的為這個(gè)模塊取得名字寇甸,一般建議寫成相對(duì)地址的形式,方便通過相對(duì)地址查找代碼疗涉。