(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版本、命令的版本,解決了不同項目使用不同版本的命令的問題。
.