
文章目錄什么是 npxnpx 是怎么工作的常見使用場景常用參數實際開發建議總結在 Node.js 開發中我們經常需要用到各種命令行工具比如創建項目的腳手架、代碼檢查、格式化工具等。以前的做法通常是全局安裝npminstall-gcreate-react-app create-react-app my-app這種方式有兩個明顯的問題全局安裝容易造成版本沖突只是偶爾用一次的工具卻永久占用了系統空間于是npm 在5.2.0版本引入了npx很好地解決了這些問題。什么是 npxnpx 的全稱是Node Package Execute可以簡單理解為「包執行器」。工具主要職責類比npm安裝、管理包工具倉庫管理員npx執行包里的命令工具租賃服務一句話總結npx 讓你可以臨時使用一個 npm 包而不需要全局安裝它。npx 是怎么工作的當你執行npx 某個命令時它會按以下順序查找先看當前項目的node_modules/.bin里有沒有再看全局有沒有安裝如果都沒有就從 npm 倉庫臨時下載并執行執行完成后npx 會把這次臨時安裝的目錄刪除保持系統干凈。需要注意的是刪除的只是臨時目錄下載的包會被緩存起來下次再使用時會直接從緩存中解壓速度更快這就像去酒店酒店有永久的房間庫存緩存你住一次就分配一個房間退房后房間被清理但下次還可以再來住。常見使用場景1. 創建項目腳手架最經典# 創建 React 項目npx create-react-app my-app# 創建 Vite 項目npx create-vitelatest my-vite-app# 創建 Next.js 項目npx create-next-applatest my-next-app2. 運行項目本地已安裝的工具# 不用再寫 ./node_modules/.bin/eslintnpx eslint src/ npx prettier--write.npx tsc--init3. 指定版本運行npx create-react-app5.0.1 my-app4. 臨時體驗一個工具npx cowsayHello npxnpx http-server常用參數參數作用示例版本指定包版本npx create-react-applatest-y/--yes跳過確認提示npx -y create-react-app my-app--no-install只使用本地已有的包npx --no-install eslint-p/--package指定包名命令名和包名不一致時npx -p cowsay cowsay hello實際開發建議腳手架類工具create-xxx優先用npx永遠不建議全局安裝項目內工具eslint、prettier、jest 等用npx或寫在package.json的 scripts 里高頻長期使用的工具可以考慮全局安裝但多數情況npx已經足夠總結npx 的核心價值在于需要時臨時借用用完自動清理既方便又不污染系統。它讓我們告別了「為了用一次工具就全局安裝」的舊習慣是現代 Node.js 開發中非常實用的工具。下次當你想用某個命令行工具時不妨先試試npx 工具名或許你會發現根本不需要全局安裝。 感謝閱讀想了解更多 我的博客網站 | 記錄思考分享干貨 我的個人主頁 | 關于我、開源項目