node中的模塊和包

模塊

       一個實現某些特定功能的文件,以實現模塊化編程
  • 通過require(模塊名)引入模塊
  • 模塊中功能(如:變量,函數)通過賦給exports對象(其實就是module.exports)的某個屬性提供給調用者使用
下面我們舉幾個例子來對模塊進行詳細的講解

       通過require(模塊名)引入模塊

       如下圖所示,我們首先有一個test.js文件,在裏面寫一句log。

        
       
        在下圖中用reguire來引用test.js這個文件執行結果。

        
        
        其實用require引用模塊時美不一定需要加上文件後綴名的,如下圖,直接加上文件名也可以直接執行。
        根據這一部分的代碼,我們普及一下兩點:
        A:equire查找文件名稱的順序
                 1、首先按照加載的模塊名稱進行查找;
                 2、如果沒有找到,則會在模塊名稱後面加上.js的後綴,進行查找;
                 3、如果還沒有找到,則會在文件名稱後面加上.json的後綴,進行查找;
                 4、如果還是沒有找到,則會在文件名稱後加上.node的後綴,進行查找;
        所以我們這裏查找的順序是這樣子的:test -> test.js -> test.json -> test.node。
       B:路徑
                1、相對路徑;
                2、 絕對路徑。
             我們在代碼中使用的是相對路徑的形式,意思是相對於當前文件,我們要訪問的文件在哪裏。”./test“意思就是在當前目錄下的test文件;
             絕對路徑指的是完整的路徑路徑,比如我們這個代碼如果需要用到絕對路徑的話,寫法爲:D:/webstormProject/node/test。

        

       用過exports實現一個接口提供給調用者使用

        在模塊作用域中,expots其實就是一個內置的模塊對象,也就是module.exports。下面代碼也可以寫成這樣:module.exports.sum = sum.
        在sum.js中提供一個接口sum給調用者使用。

        

        在引入模塊的時候,直接定義一個變量,然後用該變量直接調用sum.js對外提供的接口。執行結果如下所示。

        
          

        包是一個文件夾,它將模塊封裝起來,用於發佈、更新、依賴管理和版本控制。
  •  通過packet.json來描述包的信息:入口文件,依賴的外部包等等
  • 通過 nmp install 命令來安裝包,並通過require來使用包。
         下面我們來詳細講解一下如何導入包的,首先在cmd命令下,進入你要導入包的目錄,我們以導入cookie包爲例,如下圖輸入命令,回車。

        
        
         當導入成功之後,在目錄下你就發現多出一個目錄,如下圖。

         
         當不需要這個包了,則在cmd命令下輸入如下命令。
        

        這樣該包就會從該目錄中移除,如下圖,在該路徑下已經看不到cookie的包了。

        

  

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章