最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Node.js的包詳細(xì)介紹

 更新時間:2015年01月14日 10:29:33   投稿:junjie  
這篇文章主要介紹了Node.js的包詳細(xì)介紹,Node.js的包是一個目錄,其中包含JSON格式的包說明文件package.json,Node.js的包基本遵循CommonJS規(guī)范,需要的朋友可以參考下

在Node.js語言中,包和模塊并沒有本質(zhì)的不同,包是在模塊的基礎(chǔ)上更深一步的抽象,包將某個獨立的功能封裝起來,用于發(fā)布、更新、依賴管理和進(jìn)行版本控制。Node.js根據(jù)CommonJS規(guī)范實現(xiàn)了包機(jī)制,開發(fā)了npm來解決包的發(fā)布和獲取需求。

Node.js的包是一個目錄,其中包含JSON格式的包說明文件package.json。Node.js的包基本遵循CommonJS規(guī)范,因此具備以下特征:

CommonJS規(guī)范定義的包特性:

1)頂層目錄包含package.json文件;
2)bin目錄存放二進(jìn)制文件;
3)lib目錄存放JavaScript文件;
4)doc目錄存放文檔;
5)test目錄存放單元測試。

Node.js的模塊與文件是一一對應(yīng)的,文件不僅可以是JavaScript源碼文件或二進(jìn)制文件,還可以是目錄。最簡單的包,就是一個目錄的模塊。

Node.js的包通常是一些模塊的集合,在模塊的基礎(chǔ)上提供了更高層的抽象,相當(dāng)于提供了一些固定接口的函數(shù)庫。
通過定制package.json,我們可以創(chuàng)建更復(fù)雜、更完善、更符合規(guī)范的包用于發(fā)布。

Node.js在調(diào)用包時,首先會檢查包中的package.json文件的main字段,將其作為包的接口模塊,如果package.json文件的main字段不存在,那么Node.js會嘗試尋找index.js或index.node作為包的接口。

package.json文件是CommonJS規(guī)范用于描述包的文件,完全符合規(guī)范的package.json文件應(yīng)該包含以下字段:
1)name:包名。包名是唯一的,由小寫字母、數(shù)字和下劃線組成,不能含空格。
2)description:包說明。對包進(jìn)行簡要描述。
3)version:版本號。滿足《語義化版本識別》規(guī)范的版本字符串。
4)keywords:關(guān)鍵字?jǐn)?shù)組,通常用于搜索。
5)maintainers:維護(hù)者數(shù)組。每個元素包含name、email(可選)、web(可選)字段。
6)contributors:貢獻(xiàn)者數(shù)組。格式與maintainer數(shù)組相同。包作者應(yīng)該是貢獻(xiàn)者數(shù)組的第一個元素。
7)bugs:提交bug的地址,可以是網(wǎng)址或電郵地址。
8)licenses:許可證數(shù)組。每個元素要包含type(許可證名稱)和url(鏈接到許可證文本的地址)字段。
9)repositories:倉庫托管地址數(shù)組。每個元素要包含type(倉庫的類型,如Git)、url(倉庫地址)和path(相對于倉庫的路徑,可選)字段。
10)dependencies:包依賴。是一個關(guān)聯(lián)數(shù)組,由包名和版本號組成。

注:《語義化版本識別》規(guī)范是國外提出的一套版本命名規(guī)范,最初目的是解決各種各樣的版本號大小比較的問題,目前被許多包管理系統(tǒng)所采用。

下面是一個完全符合CommonJS規(guī)范的package.json例子:

復(fù)制代碼 代碼如下:

{  
  "name": "testpackage", 
  "description": "My package for CommonJS.", 
  "version": "0.1.0", 
  "keywords": [ 
     "testpackage", 
     "liq" 
  ],  
  "maintainers": [ 
     { 
        "name": "liq", 
        "email": "liq@hotmail.com", 
     } 
  ], 
  "contributors": [ 
     { 
        "name": "liq", 
        "web": "http://blog.csdn.net/chszs" 
     } 
  ], 
  "bugs": { 
     "mail": "liq@hotmail.com", 
     "web": "http://blog.csdn.net/chszs" 
  }, 
  "licenses": [ 
     { 
        "type": "Apache License v2", 
        "url": "http://www.apache.org/licenses/apache2.html" 
     } 
  ], 
  "repositories": [ 
     { 
        "type": "git", 
        "url": "http://github.com/chszs/packagetest.git" 
     } 
  ], 
  "dependencies": {  
     "webkit": "1.2", 
     "ssl": {  
        "gnutls": ["1.0", "2.0"], 
        "openssl": "0.9.8" 
     } 
  } 
}

相關(guān)文章

  • Node.js應(yīng)用設(shè)置安全的沙箱環(huán)境

    Node.js應(yīng)用設(shè)置安全的沙箱環(huán)境

    這篇文章主要介紹了Node.js應(yīng)用設(shè)置安全的沙箱環(huán)境的方法以及注意事項,對此有需要的朋友可以參考學(xué)習(xí)下。
    2018-04-04
  • Windows上node.js的多版本管理工具用法實例分析

    Windows上node.js的多版本管理工具用法實例分析

    這篇文章主要介紹了Windows上node.js的多版本管理工具用法,結(jié)合實例形式分析了Windows平臺上node.js多版本管理工具nvm-windows的相關(guān)使用技巧,需要的朋友可以參考下
    2019-11-11
  • pm2發(fā)布node配置文件ecosystem.json詳解

    pm2發(fā)布node配置文件ecosystem.json詳解

    這篇文章主要介紹了pm2發(fā)布node配置文件ecosystem.json詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2019-05-05
  • 淺談Koa2框架利用CORS完成跨域ajax請求

    淺談Koa2框架利用CORS完成跨域ajax請求

    這篇文章主要介紹了淺談Koa2框架利用CORS完成跨域ajax請求,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-03-03
  • Express實現(xiàn)登錄驗證

    Express實現(xiàn)登錄驗證

    這篇文章主要為大家詳細(xì)介紹了Express實現(xiàn)登錄驗證,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2021-10-10
  • Windows8下搭建Node.js開發(fā)環(huán)境教程

    Windows8下搭建Node.js開發(fā)環(huán)境教程

    這篇文章主要介紹了Windows8下搭建Node.js開發(fā)環(huán)境教程,Win8下安裝node.js也比較簡單,只是一些權(quán)限比較麻煩,需要的朋友可以參考下
    2014-09-09
  • Nodejs使用fs-extra模塊進(jìn)行目錄和文件操作用法示例

    Nodejs使用fs-extra模塊進(jìn)行目錄和文件操作用法示例

    fs-extra模塊是基于fs?的文件操作相關(guān)工具庫,封裝了一些fs實現(xiàn)起來相對復(fù)雜的工具,下面這篇文章主要給大家介紹了關(guān)于Nodejs使用fs-extra模塊進(jìn)行目錄和文件操作用法的相關(guān)資料,需要的朋友可以參考下
    2024-06-06
  • Node.JS在命令行中檢查Chrome瀏覽器是否安裝并打開指定網(wǎng)址

    Node.JS在命令行中檢查Chrome瀏覽器是否安裝并打開指定網(wǎng)址

    這篇文章主要介紹了Node.JS在命令行中檢查Chrome瀏覽器是否安裝,并打開指定網(wǎng)址,本文通過實例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價值,需要的朋友可以參考下
    2019-05-05
  • 原生nodejs使用websocket代碼分享

    原生nodejs使用websocket代碼分享

    本文給大家分享的是在原生的nodejs中如何使用websocket實現(xiàn)信息傳輸,非常實用,有需要的小伙伴可以參考下
    2018-04-04
  • node.js發(fā)送郵件email的方法詳解

    node.js發(fā)送郵件email的方法詳解

    這篇文章主要介紹了node.js發(fā)送郵件email的方法,結(jié)合實例形式詳細(xì)分析了node.js發(fā)送郵件的原理、操作步驟、注意事項及常見問題解決方法,需要的朋友可以參考下
    2017-01-01

最新評論

昆山市| 永吉县| 蛟河市| 贵溪市| 汉沽区| 娄底市| 西昌市| 板桥市| 青岛市| 桑植县| 高唐县| 琼中| 揭东县| 繁峙县| 垦利县| 芜湖县| 昌乐县| 淮安市| 玛纳斯县| 贡觉县| 兴山县| 黔西| 禹州市| 扎鲁特旗| 岫岩| 上林县| 双辽市| 宜宾县| 汕尾市| 鸡东县| 五寨县| 廉江市| 唐海县| 韶关市| 延寿县| 惠州市| 邢台市| 于都县| 岗巴县| 莱州市| 隆昌县|