seajs模組路徑解析 簡單總結

2022-03-10 05:48:02 字數 1231 閱讀 9261

seajs模組路徑解析

最近在試著用seajs + grunt改造現有專案, 遇到的最大的問題就是seajs命名與呼叫, 簡單總結一下。

seajs中呼叫模組有兩種方式,seajs.use(id) 、 require(id)。

替換alias

新增base字首

可以在seajs.config()方法中設定id別名和基礎路徑, 例如:

seajs.config(

})

base新增規則

以 "." 開頭 會相對於當前(被呼叫的)模組解析位址。 如果不存在被呼叫的模組(如seajs.use() ), 則會相對於當前頁面解析位址。

以 "/" 開頭 相對於當前頁面的根目錄 解析位址

普通命名 直接加上base字首

base值

例如:在index.html中呼叫了sea.js

base的預設值為 ""

如果使用seajs.config()設定了base

seajs.config();

seajs.confg();

seajs.conifg();

seajs.config()中的base 與 seajs.use() 的id一樣, "." 開頭的id 會相對於當前頁面 解析位址(因為不存在被呼叫的模組)

完整的解析例子:

有如下檔案

index.html頁面呼叫sea.js

seajs.config(

});//

呼叫 mian

seajs.use("home/main"); //

解析後的路徑為 ""

//也可以這麼寫

seajs.use("./js/home/main"); //

解析路徑為 ""

main.js

define(

function

(require) );

以上例子中的模組define() 都沒有定義id, 實際上專案中打包時會根據配置 自動為模組設定id, 打包到同乙個檔案中, 相關問題以後有時間再總結。

seajs模組路徑解析

seajs模組路徑解析 最近在試著用seajs grunt改造現有專案,遇到的最大的問題就是seajs命名與呼叫,簡單總結一下。seajs中呼叫模組有兩種方式,seajs.use id require id 替換alias 新增base字首 可以在seajs.config 方法中設定id別名和基礎路...

seajs 路徑解析過程

本文對seajs 3.0.1 的部分原始碼 util path.js 進行學習,習得的體會。重點是對sea.js中路徑解析的過程進行原始碼級的理解和探索,包括seajs.resolve的定義 id解析到檔案路徑的過程 seajs.config 中alias,paths,vars,map等的具體使用。...

python模組搜尋路徑常見問題總結

當使用import匯入模組時,直譯器首先會在內建模組中搜尋該模組。如果沒有找到,將在變數 sys.path 給出的目錄列表中搜尋該模組。這裡有三個小點需要注意 例如將 home lyz desktop 目錄新增到sys.path中 1.使用insert新增 1.直接在kill process檔案中列...