Node.js NPM

2018-01-19 11:25 更新

NPM(Node Package Manger)是一種與社區(qū)共享node_modules的方法。

package.json

NPM使用一個(gè)名為package.json的簡(jiǎn)單JSON文件來(lái)共享模塊信息。

要在當(dāng)前文件夾中創(chuàng)建一個(gè)package.json文件,只需運(yùn)行以下代碼。

$npm init 

運(yùn)行后將問(wèn)你幾個(gè)問(wèn)題,如模塊的名稱(chēng)和版本。只需按Enter鍵直到結(jié)束。

這將在當(dāng)前文件夾中創(chuàng)建一個(gè)package.json,其名稱(chēng)設(shè)置為當(dāng)前文件夾,版本設(shè)置為0.0.0,以及一些其他合理的默認(rèn)值。

{ 
    "name": "myData", 
    "version": "0.0.0", 
    "description": "", 
    "main": "index.js", 
    "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1" 
    }, 
    "author": "", 
    "license": "ISC" 
} 

安裝NPM包

讓我們安裝一個(gè)模塊,例如,underscore(www.npmjs.org/package/underscore)到一個(gè)文件夾。

下載最新版本的underscore,你只需運(yùn)行以下命令。

$ npm install underscore 

上面的代碼生成以下結(jié)果。

下載underscore

這將從npmjs.org下載最新版本的underscore,并將其放入當(dāng)前文件夾中的node_modules / underscore。

要加載這個(gè)模塊,現(xiàn)在你所需要做的是進(jìn)行require('underscore')調(diào)用。

以下代碼加載underscore庫(kù),并將數(shù)組的最小元素輸出到控制臺(tái)。

var _ = require("underscore"); 
console.log(_.min([3, 1, 2])); // 1 

上面的代碼生成以下結(jié)果。

加載underscore

保存依賴(lài)關(guān)系

每當(dāng)你運(yùn)行npm install,你有一個(gè)可選的命令行標(biāo)志可用:--save 告訴NPM寫(xiě)關(guān)于你安裝到package.json中的信息。

執(zhí)行npm init創(chuàng)建一個(gè)包文件。

$ npm init

發(fā)出以下命令將信息保存到package.json。

$ npm install underscore --save 

上面的代碼生成以下結(jié)果。

保存信息到package.json

如果使用 ?-save 運(yùn)行安裝,不僅會(huì)將underscore下載到node_modules,還將更新package.json中的dependencies以指向underscore的已安裝版本。

"dependencies": { 
    "underscore": "^1.6.0" 
} 

通過(guò)跟蹤dependencies,我們知道我們正在使用的特定庫(kù)的哪個(gè)發(fā)布版本。

刷新node_modules文件夾

要package.json中刷新node_modules文件夾,我們可以運(yùn)行以下命令:

$ npm install 

這只是查看你的package.json文件,并下載package.json中指定dependencies的一個(gè)新副本。

列出所有dependencies

要查看已安裝的包,請(qǐng)運(yùn)行 npm ls 命令。

$ npm ls 
...
+-- underscore@1.6.0 

刪除依賴(lài)關(guān)系

要?jiǎng)h除包,請(qǐng)使用 npm uninstall npm rm 命令,并指定一個(gè)或多個(gè)包的名稱(chēng)。

npm rm underscore --save 在本地從node_modules中刪除underscore文件夾,并修改package.json的dependencies部分。你可以通過(guò)添加-g 選項(xiàng)來(lái)刪除全局包。

以下代碼顯示如何使用 npm rm 刪除命令模塊。

npm rm commander

package.json在線(xiàn)依賴(lài)關(guān)系跟蹤

以下代碼顯示了安裝具有大量dependencies的模塊

$ npm install request 
npm http GET https://registry.npmjs.org/request 
npm http GET https://registry.npmjs.org/tunnel-agent 
npm http GET https://registry.npmjs.org/json-stringify-safe 
...truncated... 
npm http 304 https://registry.npmjs.org/delayed-stream/0.0.5 
request@2.34.0 node_modules\request 
+-- aws-sign2@0.5.0 
...truncated... 
+-- json-stringify-safe@5.0.0 
+-- form-data@0.1.2 (async@0.2.10, combined-stream@0.0.4) 

NPM不僅安裝了request,還帶來(lái)了一些其他request依賴(lài)的包。

以上內(nèi)容是否對(duì)您有幫助:
在線(xiàn)筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)