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檔案中列...