1看目錄結構,代碼不算多,命名划分很清晰,僅看命名大概能猜到它的作用,比如require.js源碼舒服多了
sea.js - 定義sea.js的命名空間,在命名空間定義一些供內部適用的模塊,達到分模塊調試sea.js的目的
util前綴的文件 :相對通用的工具類函數
util-lang.js - 實現了一些基礎函數,比如forEach, map等
util-error.js - 提供錯誤輸出的幫助函數,主要用於調試分析
util-helper.js - 實現了解析module的url和id的函數
util-dom.js - 和瀏覽器相關的操作 比如添加script , link 節點的操作都在這
fn前綴的文件: seajs中供內部適用的函數
fn-load.js : seajs.use實際上是調用該文件的方法
fn-define.js : define 模塊定義函數邏輯
fn-require.js : 用於構造require的對象,該文件中包含factory的初始化過程
fn-config.js : 包含seajs.config的實現,用於配置信息
fn-use.js : 包含seajs.use的實現
sea-api.js:將實現的函數引用到seajs對象上
1.如果想看如何處理module的創建以及依賴過程的實現細節重點看fn-define.js,其中使用到了util-helper.js中的不少函數
2.如果想看seajs如何實現在use之前構建依賴環境重點看fn-load.js,fn-require.js,其中對瀏覽器動態創建script節點使用到了util-dom.js