2016-09-06 3 views
3

Ich habe ein Knotenmodul mit NPM heruntergezogen und es zu package.json hinzugefügt. Allerdings musste der Code des Moduls geändert werden, da er meine Anforderungen nicht 100% erfüllte.Wie kann ich lokale Änderungen an einem NPM-Modul beibehalten?

Normalerweise, wenn ich mit Knoten und git arbeite ich würde das node_modules Verzeichnis ignorieren und npm install verwenden, wenn auf einen Server bereitstellen.

Ich frage mich, welche Best Practice wäre in meinem Szenario, gibt es eine Möglichkeit, ein Modul in package.json zu definieren, die ignoriert werden sollte, wenn es lokal bereits vorhanden ist, wenn npm install ausgeführt wird? Ist dies bereits das Standardverhalten für alle Module? Wie würde das funktionieren, wenn jemand npm update laufen würde? Ich würde annehmen, dass die letzte Version dieses Moduls heruntergezogen würde und meine Änderungen überschreiben würde?

Alternativ habe ich darüber nachgedacht, das ursprüngliche Git Repo für das Modul zu forkieren, meine Gabel wieder zu NPM zu veröffentlichen und dann stattdessen zu verwenden.

Tipps und Ideen wäre sehr dankbar :)

Antwort

4

Alternativ habe ich darüber nachgedacht, den ursprünglichen git Repo für das Modul gabeln, die erneute Veröffentlichung meiner Gabel zu NPM und dann, dass stattdessen verwenden.

Sie haben hier die richtige Idee. Unter NPM möchten Sie Ihre Bedenken auf jeden Fall nicht zwischen gehosteten und versionskontrollierten Ressourcen aufteilen. Fork das Repo, und beantworten Sie dann diese Frage: Wenn Sie die Funktionalität zu dem vorhandenen Modul hinzufügen, wird die Pull-Anforderung wahrscheinlich bald für Sie zusammengeführt und in NPM veröffentlicht?

Wenn die Antwort nein ist, weil die Funktionalität nicht den Absichten des ursprünglichen Moduls entspricht, sollten Sie besser Ihre eigenen erstellen. Achten Sie darauf, Ihre Gabel in der README zu notieren.

Wenn Sie auf die PR warten, haben Sie eine Option in der Zwischenzeit. NPM lässt Sie link directly to your fork's .git file.

Verwandte Themen