SeaJS之use函數


有了 define 等模塊定義規范的實現,我們可以開發出很多模塊。但光有一堆模塊不管用,我們還得讓它們能跑起來。在 SeaJS 里,要啟動模塊系統很簡單:

<script src=”path/to/sea.js”></script>
<script>
seajs.use(‘./main’);
</script>

seajs.use 用來在頁面中加載模塊。通過 use 方法,可以在頁面中加載任意模塊。
語法:seajs.use seajs.use(id, callback?)

// 加載模塊 main,並在加載完成時,執行指定回調
seajs.use(‘./main’, function(main) {
main.init();
});

use 方法還可以一次加載多個模塊:

// 並發加載模塊 a 和模塊 b,並在都加載完成時,執行指定回調
seajs.use(['./a', './b'], function(a, b) {
a.init();
b.init();
});

callback 參數可選。當只加載一個模塊,且不需要 callback 時,可以用 data-main 屬性來簡化,:<script src=”path/to/sea.js” data-main=”./main”></script>

上面的代碼等價於:

<script src=”path/to/sea.js”></script>
<script>
seajs.use(‘./main’);
</script>

SeaJS 還提供 data-config 來加載配置文件:

<script src=”path/to/sea.js” data-config=”path/to/config”></script>
data-config 等價:
seajs.config({
preload: ['path/to/config']
});

路徑解析規則與 seajs.use 一致。

我這里用的是:
<script src=”/js/lib/sea.js” data-config=”/js/config.js”></script>
<script>
seajs.use(‘/js/main’, function(main) {
main.banner_focus(‘#focus’);
});

注:main為模塊名。main.method為模塊定義的函數,可以傳遞參數過去。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM