npm與npx

npm與npx

npx

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

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

舉例

使用create-react-app創建一個react項目。

npm:

npm install -g create-react-app
create-react-app my-app

npx:

npx create-react-app my-app

這條命令會臨時安裝 create-react-app 包,命令完成後create-react-app 會刪掉,不會出現在 global 中。下次再執行,還是會重新臨時安裝。

npx 會幫你執行依賴包裏的二進制文件。

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

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

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

npm i -D webpack 
npm bin/webpack -v

有了 npx,你只需要這樣:

npm i -D webpack
npx webpack -v

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

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

npx github:piuccio/cowsay hello

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

npx http-server

指定node版本來運行npm scripts:

npx -p node@8 npm run build

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

來自 http://itxw.net/article/7.html

一些簡寫:
npm install=npm i

在git clone項目的時候,項目文件中並沒有 node_modules文件夾,項目的依賴文件可能很大。直接執行,npm會根據package.json配置文件中的依賴配置下載安裝。

-global=-g,全局安裝,安裝後的包位於系統預設目錄下

–save=-S,安裝的包將寫入package.json裏面的dependencies,dependencies:生產環境需要依賴的庫

–save-dev=-D,安裝的包將寫入packege.json裏面的devDependencies,devdependencies:只有開發環境下需要依賴的庫

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章