nodejs(第五篇):npm常用命令、包說明文件package.json、packjson-lock.json文件、使用nodemon插件、nrm的安裝與使用


nodejs(第五篇):npm常用命令、包說明文件package.json、packjson-lock.json文件、使用nodemon插件、nrm的安裝與使用

 

一、npm常用命令

(1)查看版本號

npm --version

  

(2)升級npm版本

npm install --global npm

  

(3)下載package

  • 向導式生成包說明文件package.json

npm init

  

這個命令會在當前目錄生成一個package.json文件,這個文件中會記錄一些關於項目的信息,比如:項目的作者,git地址,入口文件、命令設置、項目名稱和版本號等等,一般情況下這個文件是必須要有的,方便后續的項目添加和其他開發人員的使用。

  • 快速生成包說明文件package.json

npm init -y

  

  • 下載包

npm stall 包名 

  

簡寫

npm i 包名

  

 

  • 下載包並添加pachage.json里的依賴項dependencies屬性

npm install --save 包名 
npm install 包名 --save

  

  • 一次性把dependencies依賴項里的包全部下載

安裝項目依賴,在項目根目錄執行

npm install

  

 

npm install 包名 --save-dev(npm install 包名 -D) :安裝的包只用於開發環境,不用於生產環境

npm install 包名 --save (npm install 包名 -S):安裝的包需要發布到生產環境的

  • 安裝指定版本的包

    npm install XXX@latest
    npm install XXX@2.0.0
    npm i XXX@">=2.0.0 <2.5.0"
    

      

    這里的next就是一個tag 如果不指定的話,有一個默認的latest 以及第二條指定安裝2.0.0版本的XXX 最后一條則會在范圍規則內選擇最新的版本進行安裝。

 

 

(4)刪除package

  • 刪除包文件,但是包說明文件package.json里的dependencies屬性還存在

npm uninstall 包名

  

  • 刪除包文件,刪除的同時也刪除包括包說明文件package.json里的dependencies屬性

npm uninstall --save 包名

  

(5)查看相關幫助

  • 查看全部命令的使用幫助

npm help

  

  • 查看具體操作命令的使用幫助

npm xxx --help

  

 

關於命令別名縮寫

 

npm install = npm i
npm i --save = npm i -S
npm i --save-dev = npm i -D

  

二、包說明文件package.json

①生成包說明文件

npm init

  

或者快速生成

npm init -y

  

如下:

②依賴項dependencies的生成,下載並保存依賴項到package.json

npm install --save 包名

  

或者

npm install 包名 --save 

  

簡寫

npm -S 包名

  

 

比如下載jquery得到如下:

如果后面誤刪了文件node_modules,只要有這個配置文件,

在項目根目錄,通過命令

npm install

  

就可以把dependencies屬性里的所屬版本的文件全部下載回來

 

 

三、packjson-lock.json文件

①npm5以前的版本則不會有這個文件,npm5以后的版本會出現package-lock.json這個文件,當安裝包的時候,會自動生成或者更新這個文件。

②package-lock.json會保存node_modules中所有包的信息(版本,下載地址等),如果執行命令

npm install

  

可以重新快速安裝所有的包(速度可以提升很多)

③從文件來看,有一個lock就是鎖的意思,這個lock是用來鎖定版本的,可以防止自動升級新版

④注意:npm5以后的版本不用添加

--save

也可以自動保存依賴信息依賴項dependencies

 

 

四、使用用淘寶鏡像解決npm速度慢的問題

 

由於眾所周知的問題,npm服務器由於在國外,國內鏈接比較慢,所以我們把npm的源替換為淘寶的源。

 

①方式一:永久安裝

在任意目錄都可以執行,-g表示安裝到全局環境中(默認是當前目錄)

npm install -g cnpm --registry=https://registry.npm.taobao.org

  

 

然后就可以把cnpm當作npm來用了,如安裝包的時候把cnpm代替npm,比如:

#這里還是走國外的服務器,比較慢
npm install jquery

#cnpm命令會使用淘寶的服務器下載jquery
cnpm install jquery

  

②方式二:如果不想安裝cnpm,但是又想使用淘寶的服務器下載,每次安裝包的操作

npm --registry https://registry.npm.taobao.org install 包名

  

③方式三:第二種方式每次使用淘寶服務器需要加源很麻煩,這里可以添加配置文件解決

npm config set registry https://registry.npm.taobao.org

  

只要經過上面的命令配置,則以后所有的npm install 命令都會默認通過淘寶的服務器下載

驗證是否成功:

npm config get registry

  

之后安裝包安裝正常安裝命令即可使用淘寶鏡像

 

五、使用插件nodemon(修改代碼之后自動重啟)

使用第三方命令行工具nodemon插件,nodemon解決我們頻繁修改代碼后自動重啟服務器的問題

使用第三方命令行工具nodemon插件,nodemon是一個基於nodejs開發的一個第三方命令行工具,使用的時候需要獨立安裝:

#在任意目錄執行改命令都可以
#也就是說,需要--global 來安裝的包都可以在任意目錄執行
npm install --global nodemon

  

安裝完畢之后,使用

#之前是這樣啟動node app.js
#使用nodemon啟動
nodemon app.js

  

只要通過nodemon.js啟動的服務,則會監視文件變化,當文件發生變化的時候,會自動重啟服務器

nodemon --version  查看版本

  

 

六、nrm的安裝與使用

什么是nrm

nrm 是一個 npm 源管理器,允許你快速地在 npm源間切換。

簡單的說,nrm就是管理npm下載的網址源頭的工具,哪個下載點快就可以用nrm切換到那個下載源。

什么意思呢,npm默認情況下是使用npm官方源(使用npm config ls命令可以查看),在國內用這個源肯定是不靠譜的,一般我們都會用淘寶npm源:https://registry.npm.taobao.org/,修改源的方式也很簡單,在終端輸入:

npm set registry https://registry.npm.taobao.org/

  

再npm config ls查看,已經切換成功。

那么,問題來了,如果哪天你又跑去國外了,淘寶源肯定是用不了的,又要切換回官網源,或者哪天你們公司有自己的私有npm源了,又需要切換成公司的源,這樣豈不很麻煩?於是有了nrm。

nrm安裝

npm install -g nrm

  

 

nrm使用

(1)查看可選源(帶*號即為當前使用源)

nrm ls

  

(2)查看當前使用源

nrm current

  

(3)切換源

nrm use <registry>

  

其中,registry為源名。

比如:切換為官方源

 

(4)添加源

nrm add <registry> <url>

  

其中,registry為源名,url為源地址。

比如:添加一個公司私有的npm源,源地址為:http://192.168.22.11:8888/repository/npm-public/,源名為cpm(隨意取)。

nrm add cpm http://192.168.22.11:8888/repository/npm-public/

  

 

 

(5)刪除源

nrm del <registry>

  

其中,registry為源名。

比如:刪除剛才添加的cpm源

nrm del cpm

  

(6)測試源速度(即響應時間)

nrm test <registry>

  

其中,registry為源名。

比如:測試官方源和淘寶源的響應時間

nrm test npm

  

 

 

參考資料

[1]https://www.cnblogs.com/EricZLin/p/9292408.html

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM