成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

Node.js 基礎 - 包管理器 Npm 使用講解

開發 前端
包管理器又稱軟件包管理系統,它是在電腦中自動安裝、配制、卸載和升級軟件包的工具組合,在各種系統軟件和應用軟件的安裝管理中均有廣泛應用。對于我們業務開發也很受益,相同的東西不必重復去造輪子。

包管理器又稱軟件包管理系統,它是在電腦中自動安裝、配制、卸載和升級軟件包的工具組合,在各種系統軟件和應用軟件的安裝管理中均有廣泛應用。對于我們業務開發也很受益,相同的東西不必重復去造輪子。

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

什么是 NPM?

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

執行命令 npm i module -S/D 安裝模塊后,會在本地存儲我們所安裝的依賴項,存在于 package.json 的 dependencies/devDependencies 對象里。例如,如果一個模塊 X 使用了模塊 A 版本為 1.0,模塊 Y 使用了模塊 A 版本為 1.5,那么模塊 X 或 Y 都將在本地擁有自己對應的模塊 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.   } 

什么時候需要 NPM 包?

當我們在開發一些 Node.js 項目時,可能會遇到一些地方需要 NPM,例如鏈接 Redis、MongoDB 或者發送請求 Request 等,有了這些現有模塊可以使我們更專注于業務開發,當然有時你會有些特別的需求,這時可能需要自己去封裝一個 NPM 模塊,實現模塊復用、資源共享。

NPM 安裝

NPM 不需要單獨安裝,在我們安裝 Node.js 環境時,NPM 也就安裝了,Node.js 環境還沒搭建的同學可參考 “3N 兄弟” 助您完成 Node.js 環境搭建 一節。

終端執行 npm -v 命令查看當前 npm 版本

  1. $ npm -v 
  2.  
  3. 5.6.0 

NPM 源設置

在國內有時候受限于網絡因素的影響,通常在安裝一個包管理器之前可以切換為 淘寶 NPM 鏡像,加速安裝速度,但是要注意如果是私有模塊在 NPM 官方的,則必須切換為官方源,否則會出現 404 錯誤。

查看當前 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 的時候 需要切換回 npm 源

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

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

淘寶 NPM 鏡像啟用新域名

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

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

如何在項目中應用

讓我們新建一個項目 test,剛開始這是一個空的文件夾

第一步

控制臺執行 npm init,根據提示輸入信息,會生成一個 package.json 文件,如下所示:

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

第二步

安裝 npm 模塊,例如我們安裝一個 moment 模塊,執行以下命令。

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

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

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

看下我們當前的目錄結構:

NPM 注冊登錄

注冊

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

查看當前使用的用戶

  1. npm whoami 

npm 登錄

  1. npm login 

私有模塊

如果是公司團隊或者個人項目的私有 npm 包,進行發布的時候要注意下啦,模塊的名字要以@符號開始、/符號結束,中間部分為私有包的組織名。例如,@may/logger,may 為組織的名稱,logger 為包名。

package.json

  1.   "name""@may/logger" 

發布 NPM 模塊

進入項目根目錄,輸入命令。

  1. npm publish 

常見問題

Questions1

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

這里注意的是因為國內網絡問題,許多小伙伴把 npm 的鏡像代理到淘寶或者別的地方了,這里要設置回原來的鏡像。

  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":"*"}

執行命令 npm cache clean --force

Questions3

Node項目部署 私有包報錯404 一般兩種情況造成:

  • 檢查服務器是否登錄npm賬號
  • 執行命令npm config get registry 檢查是否指向https,沒有指向https執行命令 npm config set registry=https://registry.npmjs.org

 

責任編輯:武曉燕 來源: Nodejs技術棧
相關推薦

2025-03-24 00:00:15

2022-09-20 11:58:27

NpmNode.js

2022-02-28 10:22:08

前端管理工具

2024-06-28 09:18:30

2017-06-20 12:48:55

React Nativ自定義模塊Note.js

2015-03-10 10:59:18

Node.js開發指南基礎介紹

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

2020-03-09 11:43:35

RustCargo編程語言

2020-12-03 12:06:54

HarmonyOS

2022-03-21 21:28:00

Homebrew包管理器Linux

2010-01-05 10:14:09

Ubuntu軟件包

2013-11-20 15:32:13

紅帽RedHatYUM包

2023-04-12 00:00:40

Node.jsMonoreponpm

2022-08-28 16:30:34

Node.jsDocker指令

2020-05-08 10:28:29

Node.js程序員JavaScript

2021-08-11 07:02:21

npm包管理器工具

2021-10-03 15:02:50

HTTPNodejs
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 美国一级黄色片 | 国产精品视频久久久 | 91精品国产一区二区三区 | 日韩一区av | 国产欧美精品一区二区三区 | 亚洲97| 中文一区| 欧美日韩国产在线观看 | 国产一区二区三区亚洲 | 色在线免费 | 综合九九| 国产美女在线播放 | 午夜欧美一区二区三区在线播放 | 日韩欧美专区 | 大象一区 | 在线观看亚洲 | 日韩精品在线播放 | 久久久久久久久毛片 | 久久久精品影院 | 亚洲精品乱码久久久久久蜜桃 | 中文字幕成人在线 | 国产日韩欧美精品一区二区 | 中文字幕视频在线观看免费 | 神马久久春色视频 | 麻豆视频国产在线观看 | 99亚洲精品视频 | 欧美成人精品一区二区男人看 | 国产视频精品视频 | 手机看片1 | 欧美日韩一区二区三区四区 | 91精品久久久久久综合五月天 | 亚洲va在线va天堂va狼色在线 | 国产一区二区黑人欧美xxxx | 久久精品国产一区二区三区不卡 | 欧美午夜精品 | 国产精品久久久久无码av | 久久一级 | 亚洲欧美一区二区三区在线 | 欧美在线看片 | 欧美精品一区二区三区四区 在线 | 精品av|