Ich verwende das Modul node_swiz, das wiederum das Validator-Modul verwendet.
Ich möchte Änderungen am Validator-Modul vornehmen, habe jedoch npm install verwendet, um die Module / Abhängigkeiten zu installieren.
Kann ich einfach Änderungen am Validator-Modul innerhalb von node_modules vornehmen oder werden diese Abhängigkeiten von node_modules neu erstellt und die neueste Version erhalten, wenn ich sie in heroku veröffentliche oder wenn ich npm install das nächste Mal ausführe?
Die Struktur sieht folgendermaßen aus:
myNodeApplication
- node_modules
- swiz
- node_modules
- validator [this is the library I want to edit]
Danke für die Hilfe!
/node_modules
und ausführen,npm install
dann ist alles in Ordnung!Sie können das Patch-Paket verwenden , um Änderungen an Knotenmodulen vorzunehmen und beizubehalten.
Dies kann erreicht werden, indem zuerst Änderungen am darin enthaltenen Paket vorgenommen
node_modules
und dann der folgende Befehl ausgeführt wird,<package name>
wobei der Name des Pakets der Name ist, an dem Sie gerade Änderungen vorgenommen haben.Das Patch-Paket erstellt dann einen
patches
Ordner mit einer Datei, die Ihre Änderungen darstellt. Diese Datei kann dann an git übergeben werden, und Patches können später durch Ausführennpx patch-package
(ohne Argumente) wiederhergestellt werden .Optionaler Schritt:
Fügen Sie im Skriptabschnitt Ihrer package.json Folgendes hinzu, um die Abhängigkeit automatisch zu patchen, wenn Sie "npm install" ausführen.
quelle
Ich wollte kein neues Modul veröffentlichen und
npm install
meine Änderungen auch nicht überschreiben. Ich habe eine Lösung für beide Probleme gefunden, aber es wäre wahrscheinlich besser, den Rat von @ Sdedelbrock zu befolgen. Aber wenn Sie es tun möchten, gehen Sie wie folgt vor:package.json
Datei, um die Abhängigkeit zu entfernen, die Sie bearbeiten möchten./node_modules
und verschieben Sie den Ordner an eine andere Stelle in Ihrem Repository, die festgeschrieben werden kann. Also jetzt/node_modules/dependency
ist bei/dependency
cd
in das Abhängigkeitsverzeichnis und geben Sie einnpm link
cd
in das Stammverzeichnis Ihres Projektverzeichnisses und gebennpm link dependency
Sie Es ist wichtig, dass Sie dies außerhalb von/node_modules
und tun/dependency
Wenn alles funktioniert hat, sollten Sie jetzt einen Symlink haben, der in erstellt wurde
/node_modules/dependency
. Jetzt können Sie Ihr Projekt ausführen, um zu sehen, ob es funktioniert.quelle