Node.js知識點整理之----npm包管理工具

在Node.js中,能夠本身編寫或從網上下載模塊文件:node

  • 後綴名爲.js的JavaScrip文件
  • 後綴名爲.json的JSON文件
  • 後綴名爲.node的通過編譯後的二進制模塊文件

使用require()引入模塊文件時須要指定文件的路徑及文件名:npm

  • ‘./’表明當前目錄來指定相對路徑
  • '/'表明絕對路徑

自定義模塊json

使用 exports對象,暴露模塊內的變量、函數 或 對象數組

var myMsg = 'hello';
var func = function(){
 //...   
}
exports.msg = myMsg;
exports.func = func;
//也能夠使用module.exports.XXX

自定義模塊爲類
函數

使用 module.exports 的書寫方法。工具

var name='';
var age = 0;
var foo = function(){
    //...
}

foo.prototype.name = name;
foo.prototype.age = age;

foo.prototype.getName = function(){
    //...
}

foo.prototype.setName = function(){
    //...
}

module.exports = foo;

爲模塊類定義變量或函數單元測試

當把模塊定義爲類時,能夠爲該類定義類變量或類函數測試

var foo = function(){
    //...
}

foo.staticName = '';

foo.staticFunc = function(){
    //...
}

module.exports = foo;

組織管理模塊
ui

若是在require函數中參數只使用文件名,但不指定路徑,則Node.js將該文件視爲 node_modules目錄下的文件。spa

使用目錄管理模塊

  • 將目錄名指定爲模塊名:在應用程序根目錄下建立一個node_modules子目錄,在其中建立一個目錄,並在其中放入一個index.js文件
  • 在應用程序根目錄下的node_modules子目錄的foo子目錄下建立一個package.json文件,並在其中使用以下所示的代碼建立模塊名與主文件
{
    "name":"foo",
    "main":"./lib/foo.js"
}

從全局目錄中加載模塊

若是在操做系統的環境變量中設置了NODE_PATH變量,並將變量值設置爲一個有效的磁盤目錄,在require中只指定模塊名,而沒有指定路徑時,而且Node.js從其餘路徑中找不到須要加載的模塊文件,Node.js將從NODE_PATH變量值所指向的磁盤目錄中尋找並加載模塊。

模塊對象屬性

module.id

當前模塊的ID。

在默認狀況下,主模塊的ID屬性值爲「.」,其餘模塊的ID屬性值爲該模塊文件的絕對路徑。

module.filename

當前模塊文件的文件名。

module.loaded

屬性值爲布爾值,當爲false時,表示模塊還沒有加載完畢,爲true時,表示 屬塊加載完畢。

module.parent

屬性值爲當前模塊的父模塊對象。

module.children

屬性值爲一個數組,存放了當前模塊的全部子模塊對象。

Node.js中的包

一個包事實上是一個目錄,其餘包含了用於對包進行描述的JSON格式的package.json文件。

包中的內容

  • 在包的根目錄中存放package.json文件
  • 在bin子目錄中存放二進制文件
  • 在lib子目錄中存放JavsScript文件
  • 在doc子目錄中存放對包 或 包的使用方法的說明文件
  • 在test子目錄中存放單元測試文件

package.json中的內容:

  • name:包名
  • preferglobal:是否支持全局安裝
  • description:包說明
  • version:版本號
  • author:做者信息數組
  • maintainers:包維護者信息數組
  • bugs:bug提交地址
  • licenses:許可證數組
  • repository:倉庫託管地址數組
  • keywords:關鍵字數組
  • dependencies:本包所依賴的包

npm包管理工具

//搜索並查看forever包信息
npm search forever

//查看forever包所用package.json中的信息
npm view forever

//下載forever
npm install forever

//全局安裝包
npm install -g forever

//查看Node.js的全局包的安裝路徑
npm root -g

//修改Node.js的全局包的安裝路徑
npm config set prefix "d:\node"

//查看命令行提示窗口當前目錄下所安裝的全部包
npm list

//查看Node.js的全局包的安裝路徑下安裝的全部包
npm list -g

//卸載當前目錄下安裝的某個包
npm uninstall <包名>

//卸載Node.js全局包的安裝路徑下安裝的某個包
npm uninstall -g <包名>

//更新當前目錄下安裝的某個包
npm update <包名>

//更新Node.js的全局包的安裝路徑下安裝的某個包
npm update -g <包名>

//更新當前目錄下安裝的全部名
npm update

//更新Node.js的全局包的安裝路徑下安裝的全部包
npm update -g
相關文章
相關標籤/搜索