Bei Verwendung von "npm install" werden die Module geladen und sind in Ihrer gesamten Anwendung verfügbar, unabhängig davon, ob es sich um "devDependencies" oder "dependencies" handelt. Summe dieser Idee: Alles, was Ihre package.json als Abhängigkeit definiert (jeder Typ), wird in node_modules installiert.
Der Grund für den Unterschied zwischen Abhängigkeiten / devDependencies / optionalDependencies ist, was Konsumenten Ihres Codes mit npm tun können, um diese Ressourcen zu installieren.
Gemäß der Dokumentation: https://npmjs.org/doc/json.html ...
Wenn jemand vorhat, Ihr Modul in seinem Programm herunterzuladen und zu verwenden, möchte oder muss er das von Ihnen verwendete externe Test- oder Dokumentationsframework wahrscheinlich nicht herunterladen und erstellen.
In diesem Fall ist es am besten, diese zusätzlichen Elemente in einem devDependencies-Hash aufzulisten.
Diese Dinge werden immer dann installiert, wenn das Konfigurationsflag --dev gesetzt ist. Dieses Flag wird automatisch gesetzt, wenn eine npm-Verknüpfung oder eine npm-Installation über das Stammverzeichnis eines Pakets durchgeführt wird, und kann wie jeder andere npm-Konfigurationsparameter verwaltet werden. Weitere Informationen zum Thema finden Sie in config (1).
Um diese Frage zu lösen, lautet der folgende Befehl, wenn Sie NUR die "Abhängigkeiten" mit npm installieren möchten:
npm install --production
Dies kann durch einen Blick auf das Git-Commit bestätigt werden, das diesen Filter hinzugefügt hat (zusammen mit einigen anderen Filtern [unten aufgeführt], um diese Funktionalität bereitzustellen).
Alternative Filter, die von npm verwendet werden können:
--save => updates dependencies entries in the {{{json}}} file
--force => force fetching remote entries if they exist on disk
--force-latest => force latest version on conflict
--production => do NOT install project devDependencies
--no-color => do not print colors
@dmarr versuche mit npm install --production