Node.js中的package.json與cnpm命令行工具介紹
一、包
Nodejs 中除了它自己提供的核心模塊外,我們可以自定義模塊,也可以使用第三方的模塊。Nodejs 中第三方模塊由包組成,可以通過(guò)包來(lái)對(duì)一組具有相互依賴(lài)關(guān)系的模塊進(jìn)行統(tǒng)一管理。

完全符合 CommonJs 規(guī)范的包目錄一般包含如下這些文件。
- package.json :包描述文件。
- bin :用于存放可執(zhí)行二進(jìn)制文件的目錄。
- lib :用于存放 JavaScript 代碼的目錄。
- doc :用于存放文檔的目錄。
在 NodeJs 中通過(guò) NPM 命令來(lái)下載第三方的模塊(包)。
https://www.npmjs.com/package/silly-datetime
npm i silly-datetime –save
var sd = require('silly-datetime');
sd.format(new Date(), 'YYYY-MM-DD HH:mm');二、NPM 介紹
npm 是世界上最大的開(kāi)放源代碼的生態(tài)系統(tǒng)。我們可以通過(guò) npm 下載各種各樣的包, 這些源代碼(包)我們可以在 https://www.npmjs.com 找到。
npm 是隨同 NodeJS 一起安裝的包管理工具,能解決 NodeJS 代碼部署上的很多問(wèn)題, 常見(jiàn)的使用場(chǎng)景有以下幾種:
- 允許用戶(hù)從 NPM 服務(wù)器下載別人編寫(xiě)的第三方包到本地使用。( silly-datetime )
- 允許用戶(hù)從 NPM 服務(wù)器下載并安裝別人編寫(xiě)的命令行程序(工具)到本地使用。(supervisor)
- 允許用戶(hù)將自己編寫(xiě)的包或命令行程序上傳到 NPM 服務(wù)器供別人使用。
三、NPM 命令詳解
1.npm-v 查看npm版本
npm -v
2.使用 npm 命令安裝模塊
npm install #如安裝 jq 模塊: npm install jquery
3.npm uninstall moudleName 卸載模塊
npm uninstall ModuleName
4. npm list 查看當(dāng)前目錄下已安裝的 node 包
npm list
5.npm info 模塊名稱(chēng)查看模塊的版本
npm info xxx
6.指定版本安裝 npminstall 模塊名稱(chēng)@版本號(hào)
npm install jquery@1.8.0
四、package.json
package.json定義了這個(gè)項(xiàng)目所需要的各種模塊,以及項(xiàng)目的配置信息(比如名稱(chēng)、版本、許可證等元數(shù)據(jù))
1、創(chuàng)建 package.json
npm init
2、package.json 文件
{
"name": "test",
"version": "1.0.0", "description": "test", "main": "main.js", "keywords": ["test"],
"author": "wade",
"license": "MIT",
"dependencies": {
"express": "^4.10.1"
},
"devDependencies": {
"jslint": "^0.6.5"
}
}3、安裝模塊并把模塊寫(xiě)入 package.json(依賴(lài))
npm install 模 塊 --save-dev npm install 模 塊 --save
4、dependencies 與 devDependencies 之間的區(qū)別?
使用 npm install node_module –save 自動(dòng)更新 dependencies 字段值;
使用 npm install node_module –save-dev 自動(dòng)更新 devDependencies 字段值;
dependencie 配置當(dāng)前程序所依賴(lài)的其他包。
devDependencie 配置當(dāng)前程序所依賴(lài)的其他包,只會(huì)下載模塊,而不下載這些模塊的測(cè)試和文檔框架
"dependencies": {
"ejs": "^2.3.4",
"express": "^4.13.3",
"formidable": "^1.0.17"
}- ^表示第一位版本號(hào)不變,后面兩位取最新的
- ~表示前兩位不變,最后一個(gè)取最新
- *表示全部取最新
五、安裝淘寶鏡像
http://www.npmjs.org npm 包官網(wǎng)
https://npm.taobao.org/ 淘寶 npm 鏡像官網(wǎng)
淘寶 NPM 鏡像是一個(gè)完整 npmjs.org 鏡像,你可以用此代替官方版本(只讀),同步頻率目前為 10 分鐘 一次以保證盡量與官方服務(wù)同步。
我們可以使用我們定制的 cnpm (gzip 壓縮支持) 命令行工具代替默認(rèn)的 npm:
npm install -g cnpm --registry=https://registry.npm.taobao.org
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
初學(xué)node.js中實(shí)現(xiàn)刪除用戶(hù)路由
這篇文章主要介紹了node.js中如何實(shí)現(xiàn)刪除用戶(hù)路由,下面和小編來(lái)一起學(xué)習(xí)一下吧2019-05-05
從Node.js事件觸發(fā)器到Vue自定義事件的深入講解
這篇文章主要給大家介紹了關(guān)于從Node.js事件觸發(fā)器到Vue自定義事件的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-06-06
Node.js中代碼重復(fù)與不一致的問(wèn)題及解決方案
在 Node.js 開(kāi)發(fā)中,代碼重復(fù)和不一致是常見(jiàn)的問(wèn)題,尤其是在項(xiàng)目規(guī)模擴(kuò)大和團(tuán)隊(duì)協(xié)作時(shí),這些問(wèn)題不僅會(huì)增加維護(hù)成本,還可能導(dǎo)致邏輯錯(cuò)誤和性能問(wèn)題,本文將探討這些問(wèn)題的常見(jiàn)原因,并提供相應(yīng)的解決方案,需要的朋友可以參考下2025-03-03
從零學(xué)習(xí)node.js之簡(jiǎn)易的網(wǎng)絡(luò)爬蟲(chóng)(四)
簡(jiǎn)單的爬蟲(chóng)實(shí)現(xiàn)原理很簡(jiǎn)單:發(fā)送http請(qǐng)求至目標(biāo)地址獲取HTML頁(yè)面數(shù)據(jù),然后從獲取來(lái)的頁(yè)面數(shù)據(jù)中提取需要的數(shù)據(jù)保存。下面這篇文章主要介紹了利用node.js實(shí)現(xiàn)簡(jiǎn)易的網(wǎng)絡(luò)爬蟲(chóng)的相關(guān)資料,需要的朋友可以參考下。2017-02-02
Nodejs 發(fā)布自己的npm包并制作成命令行工具的實(shí)例講解
今天小編就為大家分享一篇Nodejs 發(fā)布自己的npm包并制作成命令行工具的實(shí)例講解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-05-05
Node.js中http模塊和導(dǎo)出共享問(wèn)題
這篇文章主要介紹了Node.js中http模塊和導(dǎo)出共享,通過(guò)?http?模塊提供的?http.createServer()?方法,就能方便的把一臺(tái)普通的電腦,變成一臺(tái)?web?服務(wù)器,從而對(duì)外提供?web?資源服務(wù),本文給大家詳細(xì)講解,需要的朋友可以參考下2022-10-10

