教育行業(yè)A股IPO第一股(股票代碼 003032)

全國(guó)咨詢/投訴熱線:400-618-4000

Node.js包和模塊的區(qū)別在哪兒?【前端技術(shù)文章】

更新時(shí)間:2022年12月22日11時(shí)55分 來源:傳智教育 瀏覽次數(shù):

在Node.js 中,會(huì)將某個(gè)獨(dú)立的功能封裝起來,用于發(fā)布、更新、依賴管理和進(jìn)行版本控制。Nodejs 根據(jù)CommonJS規(guī)范實(shí)現(xiàn)了包機(jī)制,開發(fā)了NPM包管理工具,用來解決包的發(fā)布和獲取需求。

Node.js的包和模塊并沒有本質(zhì)的不同,包是在模塊的基礎(chǔ)上更進(jìn)一步的組織JavaScript代碼的目錄。Nodejs 包和模塊的關(guān)系如下圖所示:

1671676547435_包.png

圖中可以看出,一個(gè)包中應(yīng)該有一個(gè)出口模塊,用于向外部開放接口,使用者只需要拿到出口模塊,而不用關(guān)心包中的其他內(nèi)容。

Node,js的包基本遵循 CommonJS規(guī)范,規(guī)范的包目錄結(jié)構(gòu)如表 1 所示。

規(guī)范的包目錄結(jié)構(gòu)

在實(shí)際開發(fā)中,當(dāng)某個(gè)包需要發(fā)布到網(wǎng)上,供他人使用時(shí),最好遵守 CommonJS規(guī)范Nodejs 包中包含JSON格式的包說明文件 package.jison。在規(guī)范中 package.json 文件好比一個(gè)產(chǎn)品說明書,它的優(yōu)勢(shì)在于當(dāng)開發(fā)者拿到一個(gè)第三方包文件時(shí),可以對(duì)包的信息一目了然,package.json文件中用于描述信息的屬性如下表所示。

1671680071855_2.png

在package.json文件中,屬性和值通過JSON字符串的形式進(jìn)行描述。



0 分享到:
和我們?cè)诰€交談!