1. 程式人生 > >npm 的常用命令技巧

npm 的常用命令技巧

如果你在日常工作流程中使用 NPM ,我相信你會喜歡這些提示和技巧。

生成 package.json

我們通常執行 npm init,然後開始新增 npm 請求的資訊。 但是,如果我們不關心所有這些資訊,並且希望保留預設值,那麼對於 npm 請求的每一條資料,我們都按 enter 鍵。為了避免這種情況,你可以輸入 npm init -y。這樣就可以跳過問題詢問了。

愚人碼頭注:你也可以使用 npm init --yes 作用是一樣的。

安裝模組

你可以使用更加簡單的 npm i 來代替 npm install

一次安裝多個模組

你不需要為每個模組鍵入一個 npm install 命令,例如:

bash 程式碼:

 
  1. npm i gulp-pug
  2. npm i gulp-debug
  3. npm i gulp-sass

你可以只執行一個命令,一次性安裝所有這些模組:

bash 程式碼:

 
  1. npm i gulp-pug gulp-debug gulp-sass

還有更加簡單的方法,如果所有名稱都以相同的字首開頭,你不需要鍵入整個名稱:

bash 程式碼:

 
  1. npm i gulp{-debug,-sass,-pug}

使用 install flags(安裝引數) 的快捷方式

如果要安裝軟體包並將其另存為生產依賴項,則通常會這樣做

bash 程式碼:

 
  1. npm i gulp --save-prod

你可以使用 -P 快捷方式,像這樣:

bash 程式碼:

 
  1. npm i gulp -P

對於開發依賴項也是一樣,不需要鍵入完整的 --save-dev 標誌,你可以使用 -D 快捷方式,像這樣:

bash 程式碼:

 
  1. npm i gulp -D

預設情況下,當你執行不帶任何 flags(引數) 的 npm install 時,npm 會將包作為依賴項新增到 package.json 檔案中。 如果要防止這種情況,請使用 --no-save flags(引數) 安裝,如下所示:

bash 程式碼:

 
  1. npm i gulp --no-save

獲取包資訊

下面的命令將顯示 vue 包的相關資訊:

npm view vue 或 npm v vue

npm 獲取包資訊

如果你只想獲得最新版本的軟體包,可以試試下面這個命令:

bash 程式碼:

 
  1. > npm v vue version
  2. > 2.5.17

如果你想獲得 npm 包完整的版本列表,請嘗試複數形式

bash 程式碼:

 
  1. > npm v vue versions
  2. > [ '0.0.0',
  3. '0.6.0',
  4. '0.7.0',
  5. ...
  6. '2.5.15',
  7. '2.5.16',
  8. '2.5.17-beta.0',
  9. '2.5.17' ]

安裝特定版本的軟體包

如果要安裝版本,而不是最新版本的軟體包,可以鍵入:

bash 程式碼:

 
  1. npm i [email protected]

鑑於記憶名稱比數字更容易(至少對我來說),你可以使用 dist-tag 列表中名稱,執行 npm v 命令即可得到該列表 ,如下所示:

bash 程式碼:

 
  1. npm i [email protected]

搜尋 package(包)

有時你可能記不住你前一段時間或你朋友推薦的某個 package(包) 的確切名稱。 在這種情況下,你可以使用 npm 搜尋,直接在終端中執行搜尋:

bash 程式碼:

 
  1. npm search gulp debug

或者

bash 程式碼:

 
  1. npm s gulp debug

這將列印包含描述,作者和一些其他資訊的包列表:

npm 搜尋結果

解除安裝 package(包)

如果你不想開啟 package.json 檔案並從那裡手動刪除依賴項,則可以使用以下命令將其刪除:

bash 程式碼:

 
  1. npm uninstall vue

這將從 node_modules 資料夾和 package.json 檔案中刪除該包。 當然,你可以使用 rm , un 或 r 來實現相同的效果,例如:

bash 程式碼:

 
  1. npm rm vue

如果由於某種原因你只想從 node_modules 資料夾中刪除包檔案,但仍然將其作為依賴項儲存在 package.json 檔案中,則可以使用 --no-save 引數:

bash 程式碼:

 
  1. npm rm vue --no-save

列出依賴項

如果要檢視專案依賴項列表,可以使用

bash 程式碼:

 
  1. npm ls

這將列出 package.json 檔案中所有的依賴項以及它們的所有依賴項。 如果你只想列出你的依賴項,你可以這樣做

bash 程式碼:

 
  1. npm ls --depth=0

這將打印出這樣的東西:

bash 程式碼:

 
  1. ├── [email protected]
  2. ├── [email protected]
  3. └── [email protected]

當然,如果要檢視所有全域性安裝的包的列表,可以使用 -g 標誌

bash 程式碼:

 
  1. npm ls -g -depth 0

執行測試

你可以使用 npm run tests 執行測試,但你可以用 npm test 甚至更簡短的 npm t 代替。

顯示可用的 script

有時,我們希望檢視 package.json 檔案中包含的指令碼。 我們當然可以開啟 package.json 檔案,但我們也可以這樣做:

bash 程式碼:

 
  1. npm run

如果在 package.json 檔案中有這樣的配置,如下所示:

bash 程式碼:

 
  1. "scripts": {
  2. "test": "jest",
  3. "build": "gulp build"
  4. }

那麼 npm run 命令將顯示以下內容:

bash 程式碼:

 
  1. Lifecycle scripts included in npm:
  2. test
  3. jest
  4. available via `npm run-script`:
  5. build
  6. gulp-build

從 Github 倉庫安裝 package(包)

你可以直接從 Github 倉庫安裝一個包:

bash 程式碼:

 
  1. npm i https://github.com/sindresorhus/gulp-debug

或者你可以省略域名部分

bash 程式碼:

 
  1. npm i sindresorhus/gulp-debug

開啟包的 Github 頁面

你當然可以通過 Google 搜尋,然後查詢該頁面,或者你可以執行以下操作:

bash 程式碼:

 
  1. npm repo create-react-app

無需安裝軟體包即可執行上述命令。

列出所有可用的 NPM 環境變數

你可以通過執行以下命令來檢視可供我們使用的 NPM 變數的完整列表:

bash 程式碼:

 
  1. npm run env | grep npm_

上面的命令將列印如下內容:

bash 程式碼:

 
  1. npm_config_fetch_retry_maxtimeout=60000
  2. npm_config_tag_version_prefix=v
  3. npm_config_strict_ssl=true
  4. npm_config_sso_type=oauth
  5. .
  6. .
  7. .

這些變數的好處是它們可以在你的指令碼中使用,你甚至可以建立自己的 NPM 環境變數,讓我們看看如何建立。

新增自己的 NPM 變數

你可以通過向 package.json 檔案新增自己的 NPM 變數。 它可以是任何 key,但我更喜歡將所有 NPM 變數放在 config key 中,以保持結構有序。 像這樣:

bash 程式碼:

 
  1. "config": {
  2.  
  3. "build_folder":"./dist"
  4.  
  5. }

現在,如果你使用前面討論的命令 npm run env | grep npm_ 列出你的變數,你會看到你的新變數在那裡:

bash 程式碼:

 
  1. npm_package_config_build_folder=./dist
  2. npm_config_fetch_retry_maxtimeout=60000
  3. npm_config_tag_version_prefix=v
  4. npm_config_strict_ssl=true
  5. npm_config_sso_type=oauth
  6. .
  7. .
  8. .

預設情況下,npm 會將你的變數命名以 npm_package 為字首,並保持其在 package.json檔案中的結構,即 config_build_folder 。

在 NPM script 中使用 NPM 變數

一旦你看到了完整的變數列表,並且你希望在 script 中使用這些變數中的任何一個的值,那麼你就可以在 package.json 中執行此操作(請參閱上一節中變數 npm_package_config_build_folder 的值)

bash 程式碼:

 
  1. "scripts": {
  2. "build": "gulp build --dist $npm_package_config_build_folder"
  3. }

一旦你用 npm run build 執行這個命令,它將被執行為

bash 程式碼:

 
  1. gulp build --dist ./dist

在我的日常工作流程中,這些是我最喜歡的快捷方式和命令,有沒有你喜歡的快捷方式或命令沒列在這篇文章中,歡迎留言告訴我。