nodejs中npx 命令的使用小結(jié)
1. 核心功能
- 直接運行本地/遠程的 npm 包:無需全局安裝即可執(zhí)行命令。
- 自動查找依賴:優(yōu)先從本地
node_modules/.bin或項目依賴中查找命令。 - 臨時安裝并運行:如果包未安裝,自動從 npm 倉庫下載(運行后刪除)。
- 執(zhí)行 GitHub/URL 代碼:直接運行遠程腳本或倉庫代碼。
2. 基本用法
2.1 運行本地已安裝的包
npx <package-name> [args] # 示例:運行本地安裝的 eslint npx eslint --version
2.2 臨時運行未安裝的包
# 臨時安裝 create-react-app 并執(zhí)行,完成后刪除 npx create-react-app my-app
2.3 指定包版本
npx <package-name>@<version> [args] # 示例:使用特定版本的 create-react-app npx create-react-app@5.0.1 my-app
3. 與npm run的區(qū)別
| 對比項 | npx | npm run |
|---|---|---|
| 安裝要求 | 可臨時安裝包 | 必須提前安裝包(寫入 package.json) |
| 作用范圍 | 可運行任意 npm 包 | 僅運行 package.json 中 scripts 定義的命令 |
| 使用場景 | 一次性命令(如腳手架工具) | 項目標準化腳本(如構(gòu)建、測試) |
| 路徑解析 | 自動查找全局和本地 node_modules | 僅限本地 node_modules/.bin |
4. 常見使用場景
場景 1:快速調(diào)用腳手架工具
# 無需全局安裝,直接創(chuàng)建 React 項目 npx create-react-app my-app # 執(zhí)行后不會殘留全局包
場景 2:運行項目依賴中的 CLI
# 即使未全局安裝,也能運行項目內(nèi)的 webpack npx webpack --config webpack.config.js
場景 3:執(zhí)行遠程代碼
# 運行 GitHub Gist 中的腳本 npx https://gist.github.com/username/1234567
場景 4:切換包版本測試
# 臨時使用舊版本工具 npx prettier@2.8.0 --write .
5. 高級用法
5.1 強制使用本地包(避免下載)
npx --no-install <package-name> # 如果本地不存在則報錯
5.2 忽略緩存(重新下載)
npx --ignore-existing create-react-app my-app
5.3 指定 Node.js 版本運行
npx -p node@16 npm run build # 使用 Node 16 執(zhí)行命令
5.4 并行執(zhí)行多個包
npx -p lodash -p moment cat <<< "console.log(_.VERSION, moment().format())" | node
6. 工作原理
- 查找路徑:
- 檢查本地
node_modules/.bin和全局PATH中是否存在目標命令。
- 檢查本地
- 臨時安裝:
- 如果未找到,從 npm 倉庫下載包到臨時目錄(通常位于
~/.npm/_npx)。
- 如果未找到,從 npm 倉庫下載包到臨時目錄(通常位于
- 執(zhí)行后清理:
- 運行完成后,自動刪除臨時安裝的包(除非使用
--no-clean參數(shù))。
- 運行完成后,自動刪除臨時安裝的包(除非使用
到此這篇關(guān)于nodejs中npx 命令的使用小結(jié)的文章就介紹到這了,更多相關(guān)node npx命令使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
node作為中間服務(wù)層如何發(fā)送請求(發(fā)送請求的實現(xiàn)方法詳解)
node作為中間服務(wù)層如何發(fā)送請求?下面小編就為大家分享一下發(fā)送請求的實現(xiàn)方法,具有很好的參考價值,希望對大家有所幫助2018-01-01
用C/C++來實現(xiàn) Node.js 的模塊(二)
上篇文章的主要內(nèi)容講訴了用C/C++來實現(xiàn) Node.js 的模塊,本文更深一步繼續(xù)探討這個問題,有需要的朋友可以參考下2014-09-09
雙token無感刷新nodejs+React詳細解釋(保姆級教程)
雙token系統(tǒng)可以更好地管理用戶的權(quán)限,這篇文章主要介紹了雙token無感刷新nodejs+React的相關(guān)資料,文中通過代碼介紹的非常詳細,需要的朋友可以參考下2025-05-05
node.js中的querystring.unescape方法使用說明
這篇文章主要介紹了node.js中的querystring.unescape方法使用說明,本文介紹了querystring.unescape的方法說明、語法、接收參數(shù)、使用實例和實現(xiàn)源碼,需要的朋友可以參考下2014-12-12
詳解如何在vscode里面調(diào)試js和node.js的方法步驟
這篇文章主要介紹了詳解如何在vscode里面調(diào)試js和node.js的方法步驟,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-12-12
使用Node.js實現(xiàn)base64和png文件相互轉(zhuǎn)換的方法
這篇文章主要介紹了使用Node.js實現(xiàn)base64和png文件相互轉(zhuǎn)換的方法,本文通過實例代碼給大家介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-03-03
如何在node.js中使用?JsonWebToken模塊進行token加密
目前在web框架中最流行的身份驗證是使用jsonwebtoken,簡稱jwt.可以設(shè)置加密方式,過期時間,存放個人信息,逆解析,下面這篇文章主要給大家介紹了關(guān)于如何在node.js中使用?JsonWebToken模塊進行token加密的相關(guān)資料,需要的朋友可以參考下2023-03-03
從零開始學(xué)習(xí)Node.js系列教程一:http get和post用法分析
這篇文章主要介紹了從零開始學(xué)習(xí)Node.js系列教程一:http get和post用法,結(jié)合具體實例形式分析了nodejs中g(shù)et與post請求的使用方法與相關(guān)注意事項,需要的朋友可以參考下2017-04-04

