自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

Node.js 基礎(chǔ) - 包管理器 Npm 使用講解

開發(fā) 前端
包管理器又稱軟件包管理系統(tǒng),它是在電腦中自動(dòng)安裝、配制、卸載和升級(jí)軟件包的工具組合,在各種系統(tǒng)軟件和應(yīng)用軟件的安裝管理中均有廣泛應(yīng)用。對(duì)于我們業(yè)務(wù)開發(fā)也很受益,相同的東西不必重復(fù)去造輪子。

包管理器又稱軟件包管理系統(tǒng),它是在電腦中自動(dòng)安裝、配制、卸載和升級(jí)軟件包的工具組合,在各種系統(tǒng)軟件和應(yīng)用軟件的安裝管理中均有廣泛應(yīng)用。對(duì)于我們業(yè)務(wù)開發(fā)也很受益,相同的東西不必重復(fù)去造輪子。

每個(gè)工具或者開發(fā)語言都有相應(yīng)的包管理器,好比 Ubuntu 的 apt-get、Centos 的 yum、Java 的 Maven 倉庫等等。Node.js 中目前最出名的包管理器為 NPM 也是生態(tài)最好的。

什么是 NPM?

NPM 是 Node.js 中的包管理器。允許我們?yōu)?Node.js 安裝各種模塊,這個(gè)包管理器為我們提供了安裝、刪除等其它命令來管理模塊。這里有一點(diǎn)我們需要注意,我們必須要有一個(gè) package.json 文件或 node_modules 目錄安裝模塊到本地。

執(zhí)行命令 npm i module -S/D 安裝模塊后,會(huì)在本地存儲(chǔ)我們所安裝的依賴項(xiàng),存在于 package.json 的 dependencies/devDependencies 對(duì)象里。例如,如果一個(gè)模塊 X 使用了模塊 A 版本為 1.0,模塊 Y 使用了模塊 A 版本為 1.5,那么模塊 X 或 Y 都將在本地?fù)碛凶约簩?duì)應(yīng)的模塊 A 的副本。

  1. // 模塊 X 
  2.   "name""X"
  3.   "dependencies": { 
  4.     "A""^1.0" 
  5.   } 
  1. // 模塊 Y 
  2.   "name""Y"
  3.   "dependencies": { 
  4.     "A""^1.5" 
  5.   } 

什么時(shí)候需要 NPM 包?

當(dāng)我們?cè)陂_發(fā)一些 Node.js 項(xiàng)目時(shí),可能會(huì)遇到一些地方需要 NPM,例如鏈接 Redis、MongoDB 或者發(fā)送請(qǐng)求 Request 等,有了這些現(xiàn)有模塊可以使我們更專注于業(yè)務(wù)開發(fā),當(dāng)然有時(shí)你會(huì)有些特別的需求,這時(shí)可能需要自己去封裝一個(gè) NPM 模塊,實(shí)現(xiàn)模塊復(fù)用、資源共享。

NPM 安裝

NPM 不需要單獨(dú)安裝,在我們安裝 Node.js 環(huán)境時(shí),NPM 也就安裝了,Node.js 環(huán)境還沒搭建的同學(xué)可參考 “3N 兄弟” 助您完成 Node.js 環(huán)境搭建 一節(jié)。

終端執(zhí)行 npm -v 命令查看當(dāng)前 npm 版本

  1. $ npm -v 
  2.  
  3. 5.6.0 

NPM 源設(shè)置

在國(guó)內(nèi)有時(shí)候受限于網(wǎng)絡(luò)因素的影響,通常在安裝一個(gè)包管理器之前可以切換為 淘寶 NPM 鏡像,加速安裝速度,但是要注意如果是私有模塊在 NPM 官方的,則必須切換為官方源,否則會(huì)出現(xiàn) 404 錯(cuò)誤。

查看當(dāng)前 npm 源

  1. npm config get registry 
  2.  
  3. # http://registry.npmjs.org/ 

切換為 taobao 源

  1. npm config set registry=https://registry.npmmirror.com 

切換為 npm 官方源

在 npm publish 的時(shí)候 需要切換回 npm 源

  1. npm config set registry=http://registry.npmjs.org 

如果不想全局設(shè)置,執(zhí)行 npm 命令時(shí)也可通過參數(shù)傳遞鏡像地址 npm i module --registry=https://registry.npmmirror.com。

淘寶 NPM 鏡像啟用新域名

注意:淘寶 NPM 鏡像已啟用新域名,由原先的 http://registry.npm.taobao.org 改為了 https://registry.npmmirror.com,目前對(duì)老的 NPM 鏡像地址做了 301 跳轉(zhuǎn),但老的 http://npm.taobao.org 和 http://registry.npm.taobao.org 域名將于 2022 年 05 月 31 日零時(shí)起停止服務(wù),如果使用老域名的開發(fā)者可以開始替換了。

**參考 **https://zhuanlan.zhihu.com/p/430580607

如何在項(xiàng)目中應(yīng)用

讓我們新建一個(gè)項(xiàng)目 test,剛開始這是一個(gè)空的文件夾

第一步

控制臺(tái)執(zhí)行 npm init,根據(jù)提示輸入信息,會(huì)生成一個(gè) package.json 文件,如下所示:

  1.   "name""test", // 項(xiàng)目名稱 
  2.   "version""1.0.0", // 版本號(hào) 
  3.   "description""", // 描述 
  4.   "main""index.js", // 入口文件,默認(rèn) index.js 
  5.   "scripts": { 
  6.     "test""echo \"Error: no test specified\" && exit 1" 
  7.   }, 
  8.   "author""May", // 作者 
  9.   "license""ISC" 

第二步

安裝 npm 模塊,例如我們安裝一個(gè) moment 模塊,執(zhí)行以下命令。

  1. npm install moment -S 
  2.  
  3. or 
  4.  
  5. npm i moment --save 

安裝成功之后,會(huì)生成一個(gè)新的目錄 node_modules 這是用來存放我們所安裝的模塊,另外 package.json 也會(huì)發(fā)生變化多了一個(gè) dependencies 對(duì)象,這個(gè)是用來存儲(chǔ)我們的模塊版本信息。

  1. "dependencies": { 
  2.  
  3. "moment""^2.24.0" 
  4.  

看下我們當(dāng)前的目錄結(jié)構(gòu):

NPM 注冊(cè)登錄

注冊(cè)

  1. $ npm adduser 
  2. Username: your name 
  3. Password: your password 
  4. Email: (this IS public) your email 

查看當(dāng)前使用的用戶

  1. npm whoami 

npm 登錄

  1. npm login 

私有模塊

如果是公司團(tuán)隊(duì)或者個(gè)人項(xiàng)目的私有 npm 包,進(jìn)行發(fā)布的時(shí)候要注意下啦,模塊的名字要以@符號(hào)開始、/符號(hào)結(jié)束,中間部分為私有包的組織名。例如,@may/logger,may 為組織的名稱,logger 為包名。

package.json

  1.   "name""@may/logger" 

發(fā)布 NPM 模塊

進(jìn)入項(xiàng)目根目錄,輸入命令。

  1. npm publish 

常見問題

Questions1

  1. no_perms Private mode enable, only admin can publish this module: coorddistance 

這里注意的是因?yàn)閲?guó)內(nèi)網(wǎng)絡(luò)問題,許多小伙伴把 npm 的鏡像代理到淘寶或者別的地方了,這里要設(shè)置回原來的鏡像。

  1. npm config set registry=http://registry.npmjs.org 

Questions2

Unexpected end of input at 1:3637 npm ERR! egistry.npmjs.org/mkdirp/-/mkdirp-0.3.2.tgz"},"engines":{"node":"*"}

執(zhí)行命令 npm cache clean --force

Questions3

Node項(xiàng)目部署 私有包報(bào)錯(cuò)404 一般兩種情況造成:

  • 檢查服務(wù)器是否登錄npm賬號(hào)
  • 執(zhí)行命令npm config get registry 檢查是否指向https,沒有指向https執(zhí)行命令 npm config set registry=https://registry.npmjs.org

 

責(zé)任編輯:武曉燕 來源: Nodejs技術(shù)棧
相關(guān)推薦

2025-03-24 00:00:15

2022-02-28 10:22:08

前端管理工具

2022-09-20 11:58:27

NpmNode.js

2024-06-28 09:18:30

2017-06-20 12:48:55

React Nativ自定義模塊Note.js

2015-03-10 10:59:18

Node.js開發(fā)指南基礎(chǔ)介紹

2020-11-26 08:26:53

JS

2022-02-21 09:58:31

包管理器npmyarn

2012-02-10 10:03:51

Node.js

2021-07-27 10:15:57

瀏覽器NPM包Chrome web

2010-01-05 10:14:09

Ubuntu軟件包

2022-03-21 21:28:00

Homebrew包管理器Linux

2023-04-12 00:00:40

Node.jsMonoreponpm

2020-03-09 11:43:35

RustCargo編程語言

2020-12-03 12:06:54

HarmonyOS

2013-11-20 15:32:13

紅帽RedHatYUM包

2022-08-28 16:30:34

Node.jsDocker指令

2021-08-11 07:02:21

npm包管理器工具

2021-10-03 15:02:50

HTTPNodejs

2020-05-08 10:28:29

Node.js程序員JavaScript
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)