淺談npx&&npx和npm之間的關系


(1)版本注意

  npm 5.2.0開始npm便開始攜帶了npx

 

(2)npx是什么?

  npx是一個工具,它是npm v5.2.0引入的一條命令(npx),是npm的一個包執行器,只要為了提高從npm注冊表使用軟件包的體驗 。 npm使得它非常容易地安裝和管理托管在注冊表上的依賴項, npx使得使用CLI工具和其他托管在注冊表。

  就像npm極大地提升了我們安裝和管理包依賴的體驗,在npm的基礎之上,npx讓npm包中的命令行工具和其他可執行文件在使用上變得更加簡單。它極大地簡化了我們之前使用純粹的npm時所需要的大量步驟。

(3)實踐驗證
  上述都是概念性的,接下來結合實例,一起分析下。最直觀效果
npx 會幫你執行依賴包里的二進制文件

舉例來說,之前我們可能會寫這樣的命令:

npm i -D webpack
./node_modules/.bin/webpack -v

如果你對 bash 比較熟,可能會寫成這樣

npm i -D webpack
`npm bin`/webpack -v

有了 npx,你只需要這樣

npx webpack -v

也就是說 npx 會自動查找當前依賴包中的可執行文件,如果找不到,就會去 PATH 里找。如果依然找不到,就會幫你安裝!

  
(3)區別二
  npx可以執行文件,但是npm不可以

npx 甚至支持運行遠程倉庫的可執行文件:

npx github:piuccio/cowsay hello

再比如 npx http-server 可以一句話幫你開啟一個靜態服務器!(第一次運行會稍微慢一些)

npx http-server

指定node版本來運行npm scripts:

npx -p node@8 npm run build

 

(4)小結

主要特點:
  1、臨時安裝可執行依賴包,不用全局安裝,不用擔心長期的污染。
   2、可以執行依賴包中的命令,安裝完成自動運行。
  3、自動加載node_modules中依賴包,不用指定$PATH。
  4、可以指定node版本、命令的版本,解決了不同項目使用不同版本的命令的問題。
 
 
 
 

 

 

 

 

 

.


免責聲明!

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



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