2016-12-05 3 views
0

ich brauche Hilfe bei der folgenden Situation:Hochladen npm Abhängigkeiten zu einem Server

Im Moment arbeite ich mit Maven und Frühling um arbeite eine Web-Anwendung zu tun. Mein Team arbeitete gerade daran, die Abhängigkeiten für verschiedene Frameworks herunterzuladen, aber jetzt möchte ich npm verwenden, um die Verwaltung von Abhängigkeiten zu vereinfachen.

Wenn ich npm installiere, lädt es die Abhängigkeiten lokal, aber die Idee ist nicht, den node_modules-Ordner auf git oder das Web hochzuladen, die package.json-Datei zu haben und sie manuell auf jedem Computer herunterzuladen. Ich weiß, dass die App in einer WAR-Datei komprimiert ist (ich weiß nicht wann und wie, als ich hier anfing zu arbeiten, die so funktionierte), und wenn es komprimiert ist, lädt es die Maven-Abhängigkeiten herunter (oder das habe ich verstanden)). Ich möchte dasselbe mit den Abhängigkeiten von npm machen, die Idee ist, irgendwo zu konfigurieren, dass es npm install ausführen muss, bevor die gesamte Anwendung komprimiert wird.

Weiß jemand, wie man das macht? Ich hoffe, dass du die Idee bekommen hast.

Vielen Dank!

Antwort

0

Angenommen, dass für Krieg Verpackung Maven War Plugin verwendet wird - Sie können nicht npm-Befehl von ihm aufrufen.

Hinweis: Bei Verwendung der war: goals wird davon ausgegangen, dass die Kompilierphase bereits erfolgt ist. Das WAR-Plugin ist nicht verantwortlich für das Kompilieren der Java-Quellen oder das Kopieren der Ressourcen.

https://maven.apache.org/plugins/maven-war-plugin/usage.html

Was Endpunkt Abhilfe Sie Module von npm install -g, wenn der Server den Zugriff auf npm Repo haben erforderlich installieren können. Andernfalls müssen Sie node-modules manuell kopieren.

Vergessen Sie nicht die Berechtigungen.

+0

Wie kann ich wissen, ob der Server Zugriff auf Npm Repo hat? Es hängt vom Server ab? Falls ja, wo muss ich den Befehl "npm install -g" schreiben? Im Falle, dass es keinen Zugriff hat, wenn ich den node_modules-Ordner herunterladen manchmal mit dem spezifischen root auf meinem Computer herunterladen, und das funktioniert möglicherweise nicht auf dem Server. Gibt es trotzdem eine automatische Änderung an einem relativen Ort? Vielen Dank! – Motomine

+0

'-g' installiert die Pakete global auf der npm-Instanz. also werden sie global verfügbar sein, obwohl 'node-modules' fehlen. Wenn sich Versionen oder Abhängigkeiten jedoch in Ihrem Projekt ändern, wird es nicht automatisch auf der Serverseite installiert. sollte genauso laufen wie "npm install" neben "package.json" –

+0

was meinst du mit globaally? Es sucht automatisch nach der package.json? Ich konnte das nicht verstehen. Wenn ich die Versionen in package.json aktualisiere, wird auf der Serverseite nicht aktualisiert? Was ist der nützliche Teil des Knotens, wenn das nicht so funktioniert? Danke und Entschuldigung für diese Art von Fragen! – Motomine

Verwandte Themen