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 定義的命令 |
| 使用場景 | 一次性命令(如腳手架工具) | 項目標(biāo)準(zhǔn)化腳本(如構(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中是否存在目標(biāo)命令。
- 檢查本地
- 臨時安裝:
- 如果未找到,從 npm 倉庫下載包到臨時目錄(通常位于
~/.npm/_npx)。
- 如果未找到,從 npm 倉庫下載包到臨時目錄(通常位于
- 執(zhí)行后清理:
- 運行完成后,自動刪除臨時安裝的包(除非使用
--no-clean參數(shù))。
- 運行完成后,自動刪除臨時安裝的包(除非使用
到此這篇關(guān)于nodejs中npx 命令的使用小結(jié)的文章就介紹到這了,更多相關(guān)node npx命令使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
從零學(xué)習(xí)node.js之搭建http服務(wù)器(二)
NodeJs是什么我想大家已經(jīng)很了解了,作為一個前端工程師,想要不斷提升自己,一般都會接觸到后端服務(wù)器的技術(shù),NodeJs給我們提供了一個學(xué)習(xí)成本相對較低的捷徑可走。下面這篇文章主要介紹了node.js中搭建http服務(wù)器的相關(guān)資料,需要的朋友可以參考下。2017-02-02
node.js中實現(xiàn)token的生成與驗證的操作方法
Token是一種用于在客戶端和服務(wù)器之間安全傳輸信息的加密字符串,常用于身份驗證、授權(quán)、狀態(tài)管理和安全性,在Node.js中,常用jsonwebtoken庫生成和驗證Token,本文介紹node.js中實現(xiàn)token的生成與驗證的操作方法,感興趣的朋友一起看看吧2025-01-01
node.js多個異步過程中判斷執(zhí)行是否完成的解決方案
這篇文章主要給大家介紹了關(guān)于node.js多個異步過程中判斷執(zhí)行是否完成的幾種解決方案,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起看看吧。2017-12-12
node?gyp安裝canvas原生模塊編譯node?pregyp詳解
這篇文章主要為大家介紹了Nodejs關(guān)于原生模塊編譯node-gyp + node-pre-gyp (以安裝canvas為例)示例詳解,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進步,早日升職加薪2022-11-11
解決koa2 ctx.render is not a function報錯問題
這篇文章主要介紹了解決koa2 ctx.render is not a function報錯問題,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-08-08
npm?install安裝失敗常見問題的解決辦法小結(jié)
有時候前端安裝npm install 安裝包總是安裝不上,下面這篇文章主要給大家介紹了關(guān)于npm?install安裝失敗常見問題的解決辦法,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下2023-05-05
詳解nodeJs文件系統(tǒng)(fs)與流(stream)
這篇文章主要介紹了詳解nodeJs文件系統(tǒng)(fs)與流(stream),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-01-01
npm?install安裝報錯:gyp?info?it?worked?if?it?ends?with?
今天新啟動一個項目,在 npm install 安裝依賴項時出現(xiàn)報錯,所以下面這篇文章主要給大家介紹了關(guān)于npm?install安裝報錯:gyp?info?it?worked?if?it?ends?with?ok的解決方法,需要的朋友可以參考下2022-07-07

