Node.js中的package.json與cnpm命令行工具介紹
一、包
Nodejs 中除了它自己提供的核心模塊外,我們可以自定義模塊,也可以使用第三方的模塊。Nodejs 中第三方模塊由包組成,可以通過(guò)包來(lái)對(duì)一組具有相互依賴關(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)景有以下幾種:
- 允許用戶從 NPM 服務(wù)器下載別人編寫(xiě)的第三方包到本地使用。( silly-datetime )
- 允許用戶從 NPM 服務(wù)器下載并安裝別人編寫(xiě)的命令行程序(工具)到本地使用。(supervisor)
- 允許用戶將自己編寫(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 模塊名稱查看模塊的版本
npm info xxx
6.指定版本安裝 npminstall 模塊名稱@版本號(hào)
npm install jquery@1.8.0
四、package.json
package.json定義了這個(gè)項(xiàng)目所需要的各種模塊,以及項(xià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(依賴)
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)前程序所依賴的其他包。
devDependencie 配置當(dāng)前程序所依賴的其他包,只會(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)文章
Node.js和Express中設(shè)置TypeScript的實(shí)現(xiàn)步驟
本文主要介紹了Node.js和Express中設(shè)置TypeScript的實(shí)現(xiàn)步驟文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-11-11Express下采用bcryptjs進(jìn)行密碼加密的方法
本篇文章主要介紹了Express下采用bcryptjs進(jìn)行密碼加密的方法,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2018-02-02微信小程序在線客服自動(dòng)回復(fù)功能(基于node)
這篇文章主要介紹了微信小程序在線客服自動(dòng)回復(fù)功能(基于node),由于小程序嵌套webview時(shí)需要校驗(yàn)域名,因此跳轉(zhuǎn)到第三方應(yīng)用市場(chǎng)和Appstroe無(wú)法實(shí)現(xiàn)導(dǎo)流。那怎么辦呢,需要的朋友可以參考下2019-07-07node.js如何自定義實(shí)現(xiàn)一個(gè)EventEmitter
我們了解到,Node采用了事件驅(qū)動(dòng)機(jī)制,而EventEmitter就是Node實(shí)現(xiàn)事件驅(qū)動(dòng)的基礎(chǔ),本文主要介紹了node.js自定義實(shí)現(xiàn)EventEmitter,感興趣的可以了解一下2021-07-07JavaScript第三方庫(kù)delegates的用法詳解
delegates?庫(kù)為?JavaScript?社區(qū)提供了一種高效的方式來(lái)聲明對(duì)象之間的委托關(guān)系,讓代碼結(jié)構(gòu)更加清晰,減少不必要的重復(fù),并提高可維護(hù)性,本文將詳細(xì)介紹如何在?Node.js?項(xiàng)目中使用?delegates?庫(kù)進(jìn)行高級(jí)委托,需要的朋友可以參考下2024-01-01Node實(shí)現(xiàn)前端本地開(kāi)發(fā)接口代理服務(wù)
本文主要介紹了Node實(shí)現(xiàn)前端本地開(kāi)發(fā)接口代理服務(wù),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2022-05-05sublime text配置node.js調(diào)試(圖文教程)
下面小編就為大家分享一篇sublime text配置node.js調(diào)試(圖文教程),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2017-11-11node.js的exports、module.exports與ES6的export、export default深入詳解
這篇文章主要給大家介紹了關(guān)于node.js中的exports、module.exports與ES6中的export、export default到時(shí)是什么的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。2017-10-10