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.
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
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%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
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
Tags und Links npm