模塊化調用原理?
1. 數據模塊的加載。
既然是模塊化加載,想辦法把模塊內容拿到當然是重頭戲,無論是 script 還是 css 文件的加載,一個 script 或者 link 標簽就可以搞定問題,不過我這里采用的是 ajax,目的是為了拿到 script 的代碼,也是為了照顧后面要說的 CMD 規范。
創建 script 標簽加載腳本不會存在跨域問題,不過拿到的腳本會被瀏覽器立馬解析出來,如果要做同異步的處理就比較麻煩了。沒有跨域的文件我們就通過上面的方式加載,如果腳本跨域了,再去創建標簽,讓文檔自己去加載。
2. 解析模塊的層次依賴關系。
我們要從 index.html 中利用 require.js 獲取這一連串的依賴關系,一般采用的方式就是正則匹配。如下:先拿到 function 的代碼,然后正則匹配出第一層的依賴關系,接著加載匹配到關系的代碼,繼續匹配。