2017-06-13 2 views
1

Ich habe zwei Module - mein Hauptprojekt und eine Komponentenbibliothek - wo ich die lib mit dem Hauptprojekt verknüpfen möchte. Beide arbeiten mit Webpack und reagieren. Also habe ich:Paket, das mit npm Link verknüpft ist, wird nicht aktualisiert

In comp-lib dir:

npm Link

Im Projekt dir:

npm Link comp-lib

Die Paket wird im Ordner node_modules angezeigt, aber wenn ich an der Komponente arbeite Bibliothek Die Änderungen werden im Hauptprojekt nicht berücksichtigt. Was verpasse ich?

Ich konnte nicht wirklich etwas über dieses Problem bei Google finden und der npm Link doc sagt nur über das Beispiel: "Nun werden alle Änderungen an ~/projects/node-redisist in ~/projects/node- reflektiert bloggy/node_modules/node-redisis /. "

+0

'npm Link 'erstellt einen symbolischen Link, also ist es im Grunde der gleiche Ordner. Haben Sie sichergestellt, dass Sie Ihre Comp-Lib nach dem Ändern neu erstellen, da die im 'main'-Feld von package.json angegebene Datei verwendet wird? – HiDeo

+0

Ja, ich habe es neu erstellt, Ausgabe ist: Bundle.js in Root-Verzeichnis. Einstiegspunkt in package.json ist bundle.js. Aber auch die ganze Ordnerstruktur sollte dann aktualisiert werden, oder? Wenn ich eine Komponente im Komponentenordner hinzufüge, kann ich sie nicht sehen. – SeBe

+0

Ja, sollte es, ich weiß nicht, ob es das gleiche unter Windows funktioniert, aber der erste Befehl erstellt einen Symlink von Ihrem Comp-Lib-Ordner zu Ihrem globalen Npm-Ordner ('/ usr/local/lib/node_modules' zum Beispiel) und der zweite von diesem vorherigen globalen Ordner zu 'project-dir/node_modules/comp-lib'. Vielleicht können Sie überprüfen, ob die Links gültig sind und auf die richtigen Ordner zeigen. – HiDeo

Antwort

1

Hatte ähnliches Problem mit verknüpften Paket - npm link dep war Abholung der alten Version von "dep".

Running npm link (wieder) in "dep" Ordner löste das Problem. Theoretisch sollte es nur einmal aufgerufen werden, aber manchmal kommt es manchmal aus der Synchronisation.

So, um zuverlässig verknüpften Projekt zu aktualisieren, führen Sie diese Schritte nach jeder Änderung:

  1. Projekt verknüpft Rebuild
  2. laufen npm link
  3. In Host-Projekt laufen npm link dep
Verwandte Themen