有了 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為模組定義的函數,可以傳遞參數過去。
相關推薦:
以上是怎麼使用SeaJS中use函數的詳細內容。更多資訊請關注PHP中文網其他相關文章!