Soll package.json manuell bearbeitet werden? Könnte ein Programm wie npm nicht einfach durch die Dateien schauen, die "require"-Anweisungen sehen und diese dann benutzen, um die notwendigen Einträge in die package.json-Datei zu setzen? Gibt es solche Programme?
Antworten
Zu viele Anzeigen?
toddmo
Punkte
18450
Nein, ist es nicht.
Ja, das könnte es.
Ja, die gibt es.
Manchmal, wenn man Code auskommentiert oder versucht, neue Module auszuprobieren, klappt das Experiment nicht. Dann hat man zusätzlichen Schrott in der package.json
. Der folgende Prozess säubert sie, so dass Sie eine saubere Liste der tatsächlich verwendeten Daten und eine saubere node_modules
Ordner.
[Linux] Rebuild package.json
Abhängigkeiten vom Projekt
Einrichtung
- [Terminal] Auto-Installer installieren:
sudo npm install -g auto-install
Verwendung
- [IDE] Kommentieren Sie Ihre fehlgeschlagenen Experimente aus / löschen Sie sie innerhalb Ihrer
js
Dateien - [Terminal] Gehen Sie zum Projektordner:
cd <project folder>
- [Terminal] Knotenmodule entfernen:
rm -rf node_modules
- [Terminal] Führen Sie das automatische Installationsprogramm aus:
auto-install
. Achten Sie auf Fehler. - [Terminal] Beenden Sie den Watcher: CTRL + C
- [Terminal] Behebung von Schwachstellen:
npm audit fix --force
- [Terminal] Fehler der automatischen Installation beheben
- [Terminal] Wenn Fehler aufgetreten sind, gehen Sie zurück zum Schritt "Auto-Installer ausführen".
Automatisierung
- [VS Code][keybindings.json] Fügen Sie eine Tastenkombination zum Array der Tastenkombinationen hinzu: { "key": "ctrl+alt+a", "command": "workbench.action.terminal.sendSequence", "args": { "text": "auto-install\u000D" } },
Vorbehalte
- Ich denke
auto-install
war vorasync/await
. Wenn eine Datei diese enthält, wird die js-Datei nicht geparst und alle Abhängigkeiten, auf die nur in dieser Datei verwiesen wird, werden automatisch entfernt. Sie können hinzufügen var autoInstallKeep = { foo: require('foo') } Modul zu verhindernfoo
von der automatischen Deinstallation aufgrund eines Parse-Fehlers
Dileep TP
Punkte
115
nonopolarity
Punkte
138211
- See previous answers
- Weitere Antworten anzeigen