NodeJs04

模塊(module)

--------------------------------

1. 在Node.js中,以模塊為單位劃分所有功能,并且提供了一個完整的模塊加載機(jī)制,這時的我們可以將應(yīng)用程序劃分為各個不同的部分。

不可能用一個js文件去寫全部的業(yè)務(wù)

2. 在 Nodejs 中每一個js文件都可以當(dāng)成是一個模塊,多個js文件之間可以通過require()來相互調(diào)用,實現(xiàn)一個共同的功能,這些js文件整體對外又可以當(dāng)成一個模塊。

3. Node.js中,一個JavaScript文件中定義的變量、函數(shù),都只在這個文件內(nèi)部有效。當(dāng)需要從此JS文件外部引用這些變量、函數(shù)時,必須使用exports對象進(jìn)行暴露。使用者要用require()命令引用這個JS文件。

4.一個JavaScript文件,可以向外exports無數(shù)個變量、函數(shù)。但是require的時候,僅僅需要require這個JS文件一次。使用的它的變量、函數(shù)的時候,用點語法即可

注意:

exports為一個空的對象 作用是向外暴露數(shù)據(jù)

require()函數(shù)接受收據(jù),接受的數(shù)據(jù)即為exports對象

require()的時候可以不需要文件的后綴名,英文node默認(rèn)識別js文件

在require函數(shù)中使用./的寫法,表示到當(dāng)前路徑下去尋找相對應(yīng)的文件,沒有使用./表示在node_modules中尋找相對應(yīng)的文件

5. 在nodejs中一般使用一個文件夾來管理模塊,文件夾名為node_modules,

那么Node.js中在使用require命令時候?qū)ふ襫ode_modules目錄下的相對應(yīng)文件執(zhí)行。

這樣做的好處:分享項目的時候,不需要帶著modules一起給別人。

6. node_modules文件夾并不一定在同級目錄里面,在任何直接祖先級目錄中,都可以

7. 可以使用文件夾來管理模塊,比如 var bar = require("bar"); 那么Node.js將會去尋找node_modules目錄下的bar文件夾中的index.js去執(zhí)行。

每一個模塊文件夾中,推薦都寫一個package.json文件,這個文件的名字不能改。node將自動讀取里面的配置。有一個main項,就是入口文件,package.json文件,要放到模塊文件夾的根目錄去。

---------------------------------------------------------------

npm 包管理工具

1. 模塊就是一些功能的封裝,所以一些成熟的、經(jīng)常使用的功能,都有人封裝成為了模塊。并且放到了社區(qū)中,供人免費下載。

這個社區(qū),叫做npm? node package management

2. 官網(wǎng) https://www.npmjs.com

3. 安裝模塊 npm install 模塊名 模塊名字全球唯一。? 命令提示符的所在位置即為 模塊的下載位置

安裝依賴

1.我們的依賴包,可能在隨時更新,我們永遠(yuǎn)想保持更新,或者某持某一個版本;

2.項目越來越大的時候,給別人看的時候,沒有必要再次共享我們引用的第三方模塊。

用package.json來管理依賴。

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容