<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ThinkChat2.0新版上線,更智能更精彩,支持會話、畫圖、視頻、閱讀、搜索等,送10W Token,即刻開啟你的AI之旅 廣告
                [TOC] # 模塊加載原理 [JS模塊加載器加載原理是怎么樣的?](https://www.zhihu.com/question/21157540) [getCurrentScript的改進](http://www.cnblogs.com/rubylouvre/archive/2013/01/23/2872618.html) [頁面插入script內容總結](https://github.com/damoclesX/damoclesX.github.io/issues/17) [高性能網站優化 - 無阻塞加載腳本](https://zhanglun.github.io/2014/03/30/高性能網站優化-無阻塞加載腳本) [關于Function.prototype.toString的野生小技巧](http://leeluolee.github.io/2015/04/13/function-to-string/) ## AMD簡單實現 [模塊管理的簡單實現方式](https://segmentfault.com/a/1190000006040968) # 傳統JavaScript代碼的問題 讓我們來看看一般情況下JavaScript代碼是如何開發的:通過`<script>`標簽來載入JavaScript文件,用全局變量 來區分不同的功能代碼,全局變量之間的依賴關系需要顯式的通過指定其加載順序來解決,發布應用時要通過工具來壓縮所有的JavaScript代碼到一個文 件。當Web項目變得非常龐大,前端模塊非常多的時候,手動管理這些全局變量間的依賴關系就變得很困難,這種做法顯得非常的低效. **模塊化帶來的最大弊端便是HTTP請求數增加,所以上線的時候必須合并文件。** ## 什么是模塊化 在了解AMD,CMD規范前,還是需要先來簡單地了解下什么是模塊化,模塊化開發? 模塊化是指在解決某一個復雜問題或者一系列的雜糅問題時,依照一種分類的思維把問題進行系統性的分解以之處理。模塊化是一種處理復雜系統分解為代碼結構更合理,可維護性更高的可管理的模塊的方式。可以想象一個巨大的系統代碼,被整合優化分割成邏輯性很強的模塊時,對于軟件是一種何等意義的存在。對于軟件行業來說:解耦軟件系統的復雜性,使得不管多么大的系統,也可以將管理,開發,維護變得“有理可循”。 還有一些對于模塊化一些專業的定義為:模塊化是軟件系統的屬性,這個系統被分解為一組高內聚,低耦合的模塊。那么在理想狀態下我們只需要完成自己部分的核心業務邏輯代碼,其他方面的依賴可以通過直接加載被人已經寫好模塊進行使用即可。 首先,既然是模塊化設計,那么作為一個模塊化系統所必須的能力: 1. 定義封裝的模塊。 2. 定義新模塊對其他模塊的依賴。 3. 可對其他模塊的引入支持。 好了,思想有了,那么總要有點什么來建立一個模塊化的規范制度吧,不然各式各樣的模塊加載方式只會將局攪得更為混亂。那么在JavaScript中出現了一些非傳統模塊開發方式的規范 CommonJS的模塊規范,AMD(Asynchronous Module Definition),CMD(Common Module Definition)等。 **還好ES6 的模塊化出來了,等到瀏覽器都實現 了,還需要這么復雜?**(參考:[ECMAScript 6 module and bundlers](http://www.meow.re/original/2016/08/30/es6-module-and-bundlers/))  如果你聽過 js 模塊化這個東西,那么你就應該聽過或CommonJS或AMD甚至是CMD這些規范咯,我也聽過,但之前也真的是聽聽而已。  現在就看看吧,這些規范到底是啥東西,干嘛的。
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看