激情久久久_欧美视频区_成人av免费_不卡视频一二三区_欧美精品在欧美一区二区少妇_欧美一区二区三区的

服務(wù)器之家:專注于服務(wù)器技術(shù)及軟件下載分享
分類導(dǎo)航

node.js|vue.js|jquery|angularjs|React|json|js教程|

服務(wù)器之家 - 編程語(yǔ)言 - JavaScript - Node.js 基礎(chǔ) - 包管理器 Npm 使用講解

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

2021-11-11 22:47Nodejs技術(shù)棧五月君 JavaScript

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

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

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

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

什么是 NPM?

NPM 是 Node.js 中的包管理器。允許我們?yōu)?Node.js 安裝各種模塊,這個(gè)包管理器為我們提供了安裝、刪除等其它命令來(lái)管理模塊。這里有一點(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. {
  3. "name": "X",
  4. "dependencies": {
  5. "A": "^1.0"
  6. }
  7. }
  1. // 模塊 Y
  2. {
  3. "name": "Y",
  4. "dependencies": {
  5. "A": "^1.5"
  6. }
  7. }

什么時(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)境還沒(méi)搭建的同學(xué)可參考 “3N 兄弟” 助您完成 Node.js 環(huán)境搭建 一節(jié)。

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

  1. $ npm -v
  2. 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. # 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í)也可通過(guò)參數(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. {
  2. "name": "test", // 項(xiàng)目名稱
  3. "version": "1.0.0", // 版本號(hào)
  4. "description": "", // 描述
  5. "main": "index.js", // 入口文件,默認(rèn) index.js
  6. "scripts": {
  7. "test": "echo \"Error: no test specified\" && exit 1"
  8. },
  9. "author": "May", // 作者
  10. "license": "ISC"
  11. }

第二步

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

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

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

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

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

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

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. {
  2. "name": "@may/logger"
  3. }

發(fā)布 NPM 模塊

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

  1. npm publish

常見問(wèn)題

Questions1

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

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

  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,沒(méi)有指向https執(zhí)行命令 npm config set registry=https://registry.npmjs.org

原文鏈接:https://mp.weixin.qq.com/s/6Ymx4wxqwUFQ1bwepwEvnQ

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 亚洲网站在线播放 | 一级免费特黄视频 | 日本爽快片100色毛片视频 | 色在线观看视频 | 日本一区二区三区高清不卡 | 粉嫩av一区二区三区四区在线观看 | 午夜视频在线看 | 美女黄影院 | 国产精品免费成人 | 青青国产在线视频 | 亚洲成人在线免费观看 | 国产精品免费久久久久 | 毛片免费视频在线观看 | 中国一级免费视频 | 另类亚洲孕妇分娩网址 | 91一区二区在线观看 | 91久久另类重口变态 | 欧美一级淫片免费视频1 | 成人性视频欧美一区二区三区 | 天天夜夜草| 欧美一级高潮 | 亚洲乱码精品久久久久 | 韩国十九禁高潮床戏在线观看 | 九九热精品视频在线 | 人成免费a级毛片 | av在线免费看网站 | 成人毛片在线免费看 | 另类亚洲孕妇分娩网址 | 欧美 国产 亚洲 卡通 综合 | 免费一级a毛片免费观看 | 一本大道av | 亚洲黑人在线观看 | 色阁阁69婷婷 | 91快色视频 | 91精品国产一区二区三区动漫 | 国产一及毛片 | 亚洲一区在线视频观看 | 久久精品国产一区二区电影 | 免费黄色短视频网站 | av在线网站观看 | 最新一区二区三区 |