SeaJS學習(一)


      最近被調到一個新的項目組,做web開發,是一個要上線的產品。MVC架構,對前端要求比較高,對於我這樣一個三腳貓功夫的js小鳥來說確實是一個挑戰。

廢話少說,直插主題。項目需要用到seajs,遂學之…

       一、seajs是什么

      一個適用於 Web 瀏覽器端的模塊加載器。只是實現JavaScript的模塊化及按模塊加載,與jquery不同。

       二、特點

      (1)一個模塊一個文件

      (2)使用define()定義模塊

      (3)使用use異步加載模塊

經常使用的 API 只有 define, exports, require, require.async 這四個。

define    define(factory)

factory可以是對象、字符串、函數。詳細講解請鏈https://github.com/seajs/seajs/issues/242

這里我只介紹factory是函數的情況。

define(function(require, exports, module) {//requireexportsmodule這三個參數是默認傳入的,必須是這三個單詞,不能更改。
  // The module code goes here

});
a.require 是一個方法,用來獲取其他模塊提供的接口。如:var TabPanel = require("./TabPanel");
而TabPanel 可以看出是文件TabPanel.js的一個對象。可以通過這個對象獲取該對象中共享的函數或者變量。
b.exports是一個對象,用來向外提供模塊接口。
通過他可以把模塊內的方法等共享出去。如:
define(function(require, exports) {
  // snip...
  exports.foo = 'bar';
  exports.doSomething = function() {};
});
c.module 是一個對象,上面存儲了與當前模塊相關聯的一些屬性和方法。
他有自己的屬性和方法如:module.id,module.uri,module.parent等


路徑問題:
  /*     
* ./相對於當前目錄
* ../相對於上一個目錄
* /相對於根目錄
*/


免責聲明!

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



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