Credit : webification.com |
而 RequireJS 不像 CommonJS 那麼的偉大,RequireJS 就如它的名字一樣,主要是提供 JavaScript 載入模組的功能 ( 註: Javascrip 用 Require 指令來載入引用模組 ),也就是所謂的 Module Loader,RequireJS 提供一種稱為「非同步模組定義 (Asynchronous Module Definition)」( 簡稱為 AMD ) 的模組載入方式,這種方式可以同時間讀取所有引用和相依的模組,不像 CommonJS 所定義的規範是以同步的方式一個一個檔案的載入方式,確保所有相依模組的檔案都載入後才執行。
在網路的執行環境上,在瀏覽器上要等到所有的 Javascriot 模組都載入完成後才執行的話,如果網路的狀況不佳,就可能會發生網頁開很慢的問題,尤其是,有採用像 JQuery 和 Dojo 這樣的 Javascript Library 的時候,相關的檔案下載不下來,就會跑不出東西來哩 ! 而在這種狀況下,採用 AMD 的 Module Loader 相對的,就比較有優勢,所以,才會說 CommonJS 的 Module Loader 不適合用來開發瀏覽器的程式哩 !
以上是阿舍目前對 AMD 的瞭解,改天試試後,如果有什麼不同,阿舍會再來更新的,另外,阿舍有看一下採用 RequireJS 的寫法,發現,要改用 AMD 的方式來載入模組的話,寫程式的方式也改變,並不是只要改採用 RequireJS 就可以了,如果有興趣的話,可以看一下阿舍下面列的參考資料哩 !
參考資料
amdjs
RequireJS
CommonJS
The power of the Asynchronous Module Definition
Unified codebases with Dojo, Node, and RequireJS: the holy grail of DRY code
Asynchronous CommonJS Modules for the Browser (and Introducing Transporter)
推薦閱讀
- 問題沒解決嗎? 更多的 Ubuntu 教學在 這裡
- Prompt Injection: 提示詞注入安全漏洞
- 二款 Mac 無痛安裝的 Stable Diffusion 軟體
- 用 AI 寫部落格文章好不好 ?
- 沒有免費的 Midjourney 和 Colab 又不想花錢怎麼辦 ?
- 不學 Prompt 技巧也能善用 ChatGPT 的簡單方法
- 企業 AI 應用:不只是聊天機器人
- Automatic 比 Automatic1111 更好用 ? 都是 Stable Diffusion WebUI
- Stable Diffusion 的 /describe 圖生文功能
- AI 畫出讓人可怖的美圖 !
有疑問? 問題還是沒解決嗎? 歡迎下方留言提問和討論 😁
沒有留言 :
張貼留言
歡迎留言提問和討論 .... 😁