管理 Visual Studio 中的 npm 套件
npm 可讓您安裝和管理要在 Node.js 和 ASP.NET Core 應用程式中使用的套件。 Visual Studio 可讓您輕鬆地與 npm 互動,並透過 UI 或直接發出 npm 命令。 如果您不熟悉 npm,而且想要深入了解,請移至 npm 文件。
Visual Studio 與 npm 的整合會根據您的專案類型而有所不同。
重要
npm 會預期專案的根目錄中有 node_modules 資料夾和 package.json。 如果您應用程式的資料夾結構不同,則您應修改資料夾結構,才能使用 Visual Studio 管理 npm 套件。
CLI 型專案 (.esproj)
從 Visual Studio 2022 開始,npm 套件管理員可用於 CLI 型專案,因此您現在可以下載 npm 模組,如同您如何下載適用於 ASP.NET Core 專案的 NuGet 套件一樣。 然後,您可以使用 package.json 來修改和刪除套件。
若要開啟套件管理員,請在 [方案總管] 中右鍵按一下專案中的 [npm] 節點,然後選擇 [新增 npm 套件]。
接下來,您可以搜尋 npm 套件、選取一個套件,然後選取 [安裝套件] 來加以安裝。
Node.js 專案
如果是 Node.js 專案 (.njsproj),您可以執行下列工作:
這些功能會一起運作,並與專案系統和專案中的 package.json 檔案同步處理。
必要條件
您必須已安裝 Node.js 開發工作負載和 Node.js 執行階段,才能將 npm 支援新增至您的專案。 如需詳細步驟,請參閱建立 Node.js 和 Express 應用程式。
從方案總管安裝套件 (Node.js)
如果是 Node.js 專案,安裝 npm 套件的最簡單方式是透過 npm 套件安裝視窗。 若要存取此視窗,請以滑鼠右鍵按一下專案中的 [npm] 節點,然後選取 [安裝新的 npm 套件]。
在此視窗中,您可以搜尋套件、指定選項,並安裝。
- 相依性類型 - 選擇 [標準]、[開發] 和 [選擇性] 套件。 [標準] 指定套件是執行階段相依性,而 [開發] 指定只有在開發期間才需要套件。
- 新增至 package.json (建議使用)。 這個可設定的選項已被取代。
- 選取的版本 - 選取您要安裝的套件版本。
- 其他 npm 引數 - 指定其他標準 npm 引數。 例如,您可以輸入版本值 (例如
@~0.8
) 來安裝不在版本清單中的特定版本。
您可以在 [輸出] 視窗中的 npm 輸出中看到安裝進度 (若要開啟輸出視窗,請選擇 [檢視]>[輸出] 或按 Ctrl + Alt + O)。 這可能需要一些時間。
提示
您可以在搜尋查詢前面加上感興趣範圍來搜尋範圍套件;例如,鍵入 @types/mocha
尋找 mocha 的 TypeScript 定義檔案。 而且,安裝 TypeScript 的類型定義時,您可以在 npm 引數欄位中指定版本 (例如 @ts2.6
),以指定設為目標的 TypeScript 版本。
在方案總管中管理已安裝的套件 (Node.js)
npm 套件會顯示在 [方案總管] 中。 npm 節點下的項目會模擬 package.json 檔案中的相依性。
套件狀態
- - 已安裝,並列在 package.json 中
- - 已安裝,但未明確列在 package.json 中
- - 未安裝,但列在 package.json 中
以滑鼠右鍵按一下 npm 節點,來採取下列其中一個動作:
- 安裝新的 npm 套件 開啟 UI 以安裝新的套件。
- 安裝 npm 套件 執行 npm install 命令以安裝 package.json 中列出的所有套件。 (執行
npm install
)。 - 更新 npm 套件 根據 package.json 中指定的語意化版本控制系統 (SemVer) 範圍,將套件更新為最新版本。 (執行
npm update --save
)。 SemVer 範圍通常會使用 "~" 或 "^" 來指定。 如需詳細資訊,請參閱 package.json 設定。
以滑鼠右鍵按一下套件節點來採取下列其中一個動作:
- 安裝 npm 套件 執行 npm install 命令以安裝 package.json 中列出的套件版本。 (執行
npm install
)。 - 更新 npm 套件 根據 package.json 中指定的 SemVer 範圍,將套件更新為最新版本。 (執行
npm update --save
)。SemVer 範圍通常會使用 "~" 或 "^" 來指定。 - 解除安裝 npm 套件 解除安裝套件,並將其從 package.json 中移除 (執行
npm uninstall --save
)。
注意
如需解決 npm 套件問題的協助,請參閱疑難排解。
在 Node.js 互動式視窗中使用 .npm 命令 (Node.js)
您也可以在 Node.js 互動式視窗中使用 .npm
命令來執行 npm 命令。 若要開啟此視窗,請以滑鼠右鍵按一下 [方案總管] 中的專案,然後選擇 [開啟 Node.js 互動式視窗] (或按 Ctrl + K、N)。
在此視窗中,您可以使用下列這類命令來安裝套件:
.npm install azure@4.2.3
提示
npm 預設會在您專案的主目錄中執行。 如果您的方案中有多個專案,則請指定以括弧括住的專案名稱或路徑。
.npm [MyProjectNameOrPath] install azure@4.2.3
提示
如果您的專案未包含 package.json 檔案,請使用 .npm init -y
來以預設項目建立新的 package.json 檔案。
ASP.NET Core 專案
對於 ASP.NET Core 等專案,您可以在專案中新增 npm 支援,並使用 npm 安裝套件。
注意
針對 ASP.NET Core 專案,您也可以使用程式庫管理員或 yarn,而不是 npm 來安裝用戶端 JavaScript 和 CSS 檔案。 如果您需要與 MSBuild 或 dotnet CLI 整合以進行套件管理(npm 未提供),則可能需要使用這些選項之一。
如果您的專案尚未包含 package.json 檔案,您可以將 package.json 檔案新增至專案,以啟用 npm 支援。
若要新增 package.json 檔案,請以滑鼠右鍵按一下方案總管中的專案,然後選擇 [新增]>[新增項目] (或按 Ctrl + SHIFT + A)。 使用搜尋方塊來尋找 npm 檔案、選擇 npm 設定檔、使用預設名稱,然後按一下 [新增]。
在 package.json 的
dependencies
或devDependencies
區段中包含一或多個 npm 套件。 例如,您可以將下列內容新增至檔案:"devDependencies": { "gulp": "4.0.2", "@types/jquery": "3.5.29" }
當您儲存檔案時,Visual Studio 會在方案總管中的 [相依性/npm] 節點下新增套件。 如果您沒有看到節點,請以滑鼠右鍵按一下 [package.json],然後選擇 [還原套件]。 若要查看套件安裝狀態,請在「輸出」視窗中選擇「npm 輸出」。
您可以使用配置 npm 套件
package.json
。 直接開啟package.json
,或以滑鼠右鍵按一下方案總管中的 npm 節點,然後選擇 [開啟 package.json]。
針對 npm 套件進行疑難排解
如果您在建置應用程式或轉譯 TypeScript 程式碼時看到任何錯誤,請檢查 npm 套件不相容是否為潛在的錯誤來源。 若要協助識別錯誤,請在安裝套件時檢查 npm 輸出視窗,如本文先前所述。 例如,如果一個或多個 npm 套件版本已被棄用並導致錯誤,您可能需要安裝更新的版本來修復錯誤。 如需使用 package.json控制 npm 套件版本的資訊,請參閱 package.json 組態。
在某些 ASP.NET Core 場景中,由於此處所述的已知問題,解決方案資源管理器可能無法顯示已安裝 npm 套件的正確狀態。 例如,套件可能會在已安裝時顯示為未安裝。 在大部分情況下,您可以刪除 package.json、重新啟動 Visual Studio,然後重新新增 package.json 檔案,以更新方案總管,如本文稍早所述。 或者,安裝套件時,您可以使用 npm 的輸出視窗來驗證安裝狀態。
在某些 ASP.NET Core 場景中,建置專案後,解決方案資源管理器中的 npm 節點可能不可見。 若要讓節點再次顯示,請以滑鼠右鍵按一下專案節點,然後選擇 [卸載專案]。然後以滑鼠右鍵按一下專案節點,並選擇 [重新載入專案]。
- 如果是 Node.js 專案,您必須安裝 Node.js 開發工作負載以取得 npm 支援。 npm 需要 Node.js。 如果您沒有安裝 Node.js,建議您從 Node.js 網站安裝 LTS 版本,以獲得最佳與外部架構和程式庫的相容性。