Delen via


NPM-pakketten beheren in Visual Studio

met npm kunt u pakketten installeren en beheren voor gebruik in zowel Node.js als ASP.NET Core-toepassingen. Met Visual Studio kunt u eenvoudig communiceren met npm en npm-opdrachten uitgeven via de gebruikersinterface of rechtstreeks. Als u niet bekend bent met npm en meer wilt weten, gaat u naar de npm-documentatie.

Visual Studio-integratie met npm verschilt, afhankelijk van uw projecttype.

Belangrijk

npm verwacht de map node_modules en package.json in de hoofdmap van het project. Als de mapstructuur van uw app anders is, moet u de mapstructuur wijzigen als u npm-pakketten wilt beheren met Visual Studio.

CLI-project (.esproj)

Vanaf Visual Studio 2022 is npm-pakketbeheer beschikbaar voor CLI-projecten, zodat u nu npm-modules kunt downloaden die vergelijkbaar zijn met de manier waarop u NuGet-pakketten downloadt voor ASP.NET Core-projecten. Vervolgens kunt u package.json gebruiken om pakketten te wijzigen en te verwijderen.

Als u pakketbeheer wilt openen, klikt u in Solution Explorer met de rechtermuisknop op het npm-knooppunt in uw project en kiest u Npm-pakket toevoegen.

Pakketbeheer openen vanuit Solution Explorer

Vervolgens kunt u zoeken naar npm-pakketten, een pakket selecteren en installeren door Pakket installeren te selecteren.

Nieuw npm-pakket voor esproj installeren

Node.js projecten

Voor Node.js projecten (.njsproj) kunt u de volgende taken uitvoeren:

Deze functies werken samen en synchroniseren met het projectsysteem en het package.json-bestand in het project.

Vereiste voorwaarden

U hebt de Node.js ontwikkelworkload en de Node.js runtime nodig om npm-ondersteuning toe te voegen aan uw project. Zie Een Node.js- en Express-app maken voor gedetailleerde stappen.

Opmerking

Voor bestaande Node.js-projecten gebruikt u de sjabloon Van bestaande Node.js-codeoplossing of het projecttype Openen (Node.js) om npm in uw project in te schakelen.

Pakketten installeren vanuit Solution Explorer (Node.js)

Voor Node.js projecten is de eenvoudigste manier om npm-pakketten te installeren via het installatievenster van het npm-pakket. Als u dit venster wilt openen, klikt u met de rechtermuisknop op het npm-knooppunt in het project en selecteert u Nieuwe npm-pakketten installeren.

Nieuw npm-pakket installeren voor Node.js

In dit venster kunt u zoeken naar een pakket, opties opgeven en installeren.

Schermopname van het dialoogvenster Nieuwe npm-pakketten installeren.

  • Afhankelijkheidstype : kies tussen standard-, ontwikkelings- en optionele pakketten. Standard geeft aan dat het pakket een runtime-afhankelijkheid is, terwijl Ontwikkeling aangeeft dat het pakket alleen tijdens de ontwikkeling vereist is.
  • Toevoegen aan package.json - Aanbevolen. Deze configureerbare optie is afgeschaft.
  • Geselecteerde versie : selecteer de versie van het pakket dat u wilt installeren.
  • Andere npm-argumenten : geef andere standaard npm-argumenten op. U kunt bijvoorbeeld een versiewaarde invoeren, zoals @~0.8 het installeren van een specifieke versie die niet beschikbaar is in de lijst met versies.

U ziet de voortgang van de installatie in de npm-uitvoer in het uitvoervenster (om het venster te openen, kiest u Uitvoer weergeven> of drukt u op Ctrl + + ). Dit kan enige tijd duren.

npm-uitvoer

Aanbeveling

U kunt zoeken naar scoped pakketten door de zoekquery vooraf te laten gaan met het bereik waarin u geïnteresseerd bent, @types/mocha bijvoorbeeld om te zoeken naar TypeScript-definitiebestanden voor mocha. Bij het installeren van typedefinities voor TypeScript kunt u ook de TypeScript-versie opgeven die u wilt gebruiken door een versie op te geven, zoals @ts2.6in het argumentveld npm.

Geïnstalleerde pakketten beheren in Solution Explorer (Node.js)

npm-pakketten worden weergegeven in Solution Explorer. De vermeldingen onder het npm-knooppunt bootsen de afhankelijkheden in het package.json-bestand na.

Schermopname van het npm-knooppunt in Solution Explorer met de installatiestatus van de npm-pakketten.

Pakketstatus

  • Geïnstalleerd pakket - geïnstalleerd en vermeld in package.json
  • Overbodig pakket - geïnstalleerd, maar niet expliciet vermeld in package.json
  • Ontbrekend pakket - niet geïnstalleerd, maar vermeld in package.json

Klik met de rechtermuisknop op het npm-knooppunt om een van de volgende acties uit te voeren:

  • Nieuwe npm-pakketten installeren Hiermee opent u de gebruikersinterface om nieuwe pakketten te installeren.
  • NPM-pakketten installeren Voert de npm-installatieopdracht uit om alle pakketten te installeren die worden vermeld in package.json. (Wordt uitgevoerd npm install.)
  • NPM-pakketten bijwerken Updates van pakketten naar de nieuwste versies, volgens het semantische versiebeheerbereik (SemVer) dat is opgegeven in package.json. (Wordt npm update --saveuitgevoerd.). SemVer-bereiken worden meestal opgegeven met '~' of '^'. package.json configuratie voor meer informatie.

Klik met de rechtermuisknop op een pakketknooppunt om een van de volgende acties uit te voeren:

  • NPM-pakket(en) installeren Voert de npm-installatieopdracht uit om de pakketversie te installeren die wordt vermeld in package.json. (Wordt uitgevoerd npm install.)
  • NPM-pakket(en) bijwerken Werkt het pakket bij naar de nieuwste versie, volgens het SemVer-bereik dat is opgegeven in package.json. (Uitvoeren npm update --save.) SemVer-bereiken worden meestal opgegeven met '~' of '^'.
  • Npm-pakket(en) verwijderen Hiermee verwijdert u het pakket en verwijdert u het uit package.json (wordt uitgevoerd npm uninstall --save.)

Opmerking

Zie Probleemoplossing voor hulp bij het oplossen van problemen met npm-pakketten.

Gebruik de opdracht .npm in het Node.js Interactive Window (Node.js)

U kunt ook de .npm opdracht in het Node.js Interactive Window gebruiken om npm-opdrachten uit te voeren. Als u het venster wilt openen, klikt u met de rechtermuisknop op het project in Solution Explorer en kiest u Openen Node.js interactief venster (of drukt u op Ctrl + K, N).

In het venster kunt u opdrachten zoals het volgende gebruiken om een pakket te installeren:

.npm install azure@4.2.3

Aanbeveling

Npm wordt standaard uitgevoerd in de basismap van uw project. Als u meerdere projecten in uw oplossing hebt, geeft u de naam of het pad van het project tussen vierkante haken op. .npm [MyProjectNameOrPath] install azure@4.2.3

Aanbeveling

Als uw project geen package.json bestand bevat, gebruikt .npm init -y u om een nieuw package.json-bestand met standaardvermeldingen te maken.

ASP.NET Kernprojecten

Voor projecten zoals ASP.NET Core-projecten kunt u npm-ondersteuning toevoegen aan uw project en npm gebruiken om pakketten te installeren.

Opmerking

Voor ASP.NET Core-projecten kunt u ook Library Manager of yarn gebruiken in plaats van npm om JavaScript- en CSS-bestanden aan de clientzijde te installeren. Een van deze opties kan nodig zijn als u integratie met MSBuild of de dotnet CLI nodig hebt voor pakketbeheer, die niet wordt geleverd door npm.

Als uw project nog geen package.json-bestand bevat, kunt u er een toevoegen om npm-ondersteuning in te schakelen door een package.json-bestand aan het project toe te voegen.

  1. Als u het package.json-bestand wilt toevoegen, klikt u met de rechtermuisknop op het project in Solution Explorer en kiest uNieuw item> (of drukt u op Ctrl + Shift + A). Gebruik het zoekvak om het npm-bestand te zoeken, kies het npm-configuratiebestand, gebruik de standaardnaam en klik op Toevoegen.

  2. Neem een of meer npm-pakketten op in de dependencies of devDependencies sectie van package.json. U kunt bijvoorbeeld het volgende toevoegen aan het bestand:

    "devDependencies": {
       "gulp": "4.0.2",
       "@types/jquery": "3.5.29"
    }
    

    Wanneer u het bestand opslaat, voegt Visual Studio het pakket toe onder het knooppunt Afhankelijkheden/npm in Solution Explorer. Als u het knooppunt niet ziet, klikt u met de rechtermuisknop op package.json en kiest u Pakketten herstellen. Als u de installatiestatus van het pakket wilt weergeven, selecteert u npm-uitvoer in het venster Uitvoer.

    Opmerking

    Het npm-knooppunt is beschikbaar voor de meeste ASP.NET Core-projecttypen, waaronder Blazor. Voor TENANT Blazor-projecten moet u de npm-opdrachtregel gebruiken omdat er geen npm-knooppunt aanwezig is in Solution Explorer.

    U kunt npm-pakketten configureren met behulp van package.json. package.json Open rechtstreeks of klik met de rechtermuisknop op het npm-knooppunt in Solution Explorer en kies package.jsonopenen.

Problemen met npm-pakketten oplossen

  • Als er fouten optreden bij het bouwen van uw app of het transpileren van TypeScript-code, controleert u of npm-pakket niet compatibel is als mogelijke bron van fouten. Als u fouten wilt identificeren, controleert u het npm-uitvoervenster bij het installeren van de pakketten, zoals eerder in dit artikel is beschreven. Als een of meer npm-pakketversies bijvoorbeeld zijn afgeschaft en er een fout optreedt, moet u mogelijk een recentere versie installeren om fouten op te lossen. Zie package.json configuratie voor meer informatie over het gebruik van package.json om npm-pakketversies te beheren.

  • In sommige ASP.NET Core-scenario's geeft Solution Explorer mogelijk niet de juiste status weer voor geïnstalleerde NPM-pakketten vanwege een bekend probleem dat hier wordt beschreven. Het pakket kan bijvoorbeeld worden weergegeven als niet geïnstalleerd wanneer het is geïnstalleerd. In de meeste gevallen kunt u Solution Explorer bijwerken door package.jsonte verwijderen, Visual Studio opnieuw te starten en het package.json bestand opnieuw toe te voegen, zoals eerder in dit artikel is beschreven. Of wanneer u pakketten installeert, kunt u het npm-uitvoervenster gebruiken om de installatiestatus te controleren.

  • In sommige ASP.NET Kernscenario's is het npm-knooppunt in Solution Explorer mogelijk niet zichtbaar nadat u het project hebt gebouwd. Als u het knooppunt weer zichtbaar wilt maken, klikt u met de rechtermuisknop op het projectknooppunt en kiest u Project verwijderen. Klik vervolgens met de rechtermuisknop op het projectknooppunt en kies Project opnieuw laden.

  • Voor Node.js projecten moet de Node.js ontwikkelworkload zijn geïnstalleerd voor npm-ondersteuning. npm vereist Node.js. Als u Node.js niet hebt geïnstalleerd, raden we u aan de LTS-versie van de Node.js-website te installeren voor de beste compatibiliteit met externe frameworks en bibliotheken.