前端模塊化概念及規範之一commonjs

模塊(包)node

  首先須要安裝node.js(去官方網站下載)瀏覽器

  傳統開發   緩存

    <script src="app.js"><script>
      整個網頁寫了一個js文件 全部的特效都在裏面
      缺點:耦合度過高代碼之間的關聯性太強,不便於後期維護 會形成全局污染

    <script src="01.js"><script>
    <script src="02.js"><script>
    <script src="02.js"><script>
    <script src="02.js"><script>服務器

      引用多個js文件
      這種寫法的弊端 發生的請求次數過多,依賴模糊,難於維護app

  模塊化開發模塊化

    什麼是模塊化?   函數

      將一個複雜的程序依據必定的規則(規範)封裝成幾個塊(文件), 並進行組合在一塊兒網站

      塊的內部數據與實現是私有的, 只是向外部暴露一些接口(方法)與外部其它模塊通訊ui

    爲何使用模塊化?                                        spa

      • 避免命名衝突(減小命名空間污染)
      • 更好的分離, 按需加載
      • 更高複用性  
      • 高可維護性

  模塊化規範

    CommonJS 

      概述:

        Node 應用由模塊組成,採用 CommonJS 模塊規範。每一個文件就是一個模塊,有本身的做用域。在一個文件裏面定義的變量、函數、類,都是私有的,對其餘文件不可見。在服務器端,模塊的加載是運行時同步加載的;在瀏覽器端,模塊須要提早編譯打包處理。(同步加載:只要有一個環節卡住了,後面就無法執行)

      特色:       

        • 全部代碼都運行在模塊做用域,不會污染全局做用域。
        • 模塊能夠屢次加載,可是隻會在第一次加載時運行一次,而後運行結果就被緩存了,之後再加載,就直接讀取緩存結果。要想讓模塊再次運行,必須清除緩存。
        • 模塊加載的順序,按照其在代碼中出現的順序。

      基本語法:

        暴露模塊    module.exports = value 或 exports.xxx = value

        引入模塊    require(xxx) 若是是第三方模塊,xxx爲模塊名;若是是自定義模塊,則xxx爲模塊文件路徑

                    

相關文章
相關標籤/搜索