如果你把NPM升級到最新版本,npm@5.2.0
,可能會發現,它會安裝一個新的包npx
。
npx 是什么
根據 zkat/npx 的描述,npx 會幫你執行依賴包里的二進制文件。
npx是一個工具,旨在提高從npm注冊表使用軟件包的體驗 ,npm使得它非常容易地安裝和管理托管在注冊表上的依賴項,npx使得使用CLI工具和其他托管在注冊表。它大大簡化了一些事:
舉例來說,之前我們可能會寫這樣的命令:
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: 1 安裝成功,用時 1.663 秒 _______ < hello > ------- \ ^__^ \ (oo)\_______ (__)\ )\/\ ||----w | || ||
再比如 npx http-server 可以一句話幫你開啟一個靜態服務器!(第一次運行會稍微慢一些)
$ npx http-server
npx: 23 安裝成功,用時 48.633 秒 Starting up http-server, serving ./ Available on: http://127.0.0.1:8080 http://192.168.5.14:8080 Hit CTRL-C to stop the server