Wie führe ich ein npm-Skript eines abhängigen Pakets aus?

8

Ich habe ein Paket, das selbst ein Skript in seinem package.json hat, das ich gerne in meinem Top-Level-Projekt ausführen würde. Dieses Paket gehört zu meinen wichtigsten Projektabhängigkeiten. Ich suche nach einer Möglichkeit, direkt oder indirekt das Abhängigkeitspakete-Skript aufzurufen.

Nehmen wir an, der Modulname, mit dem ich arbeite, heißt foo und das Skript, das ich ausführen möchte, ist updateFooData .

Ich habe versucht, die Syntax npm run-script <package> <...> zu verwenden, um sie auszuführen, aber diese Funktion scheint veraltet zu sein, da ich sie im aktuellen offizielle Dokumentation , aber ich sehe es in anderen (sehr alten) Suchergebnissen.

%Vor%

Ich habe auch in die npm api geschaut und während npm.commands.run-script(args, callback) tun wird, was ich will, kann ich nicht herausfinden, wie man das Modul in npm lädt

%Vor%

Das Einzige, was ich bisher gefunden habe, ist die CD in das Submodul-Verzeichnis zu kopieren und von dort aus npm zu starten. Dies ist nicht die bevorzugte Lösung für mich.

%Vor%     
Nate 22.06.2015, 21:16
quelle

2 Antworten

11

Ich habe versucht, das updatedb-Skript für GeoIP-lite auszuführen. Sie sollten den npm explore-Befehl verwenden, der eine neue Shell in einem Abhängigkeitsverzeichnis hervorbringt.

Versuchen Sie also für Ihren Anwendungsfall npm explore foo -- npm run updateFooData

    
Cezary Wojtkowski 26.04.2016 10:06
quelle
0

Etwas, das ich gefunden habe, funktioniert:

Wenn das Skript, das Sie ausführen, eine Skriptdatei ausführt, können Sie den Pfad der Datei anzeigen, die es ausführt, und das Skript mit require ausführen:

%Vor%

Ich mag diese Lösung nicht, weil sie nur funktioniert, wenn das npm-Skript, das Sie ausführen, eine Datei ist. Es wird nicht in allen gelten

    
Nate 25.06.2015 18:25
quelle

Tags und Links