Wie kann man den Pfad von `package.json` zu npm angeben?


73

Ich benutze npmSkripte, um mein Projekt zu erstellen. Ich möchte in der Lage sein, die Skripte aus einem anderen Verzeichnis auszuführen. Das heißt, anstatt Folgendes zu tun:

cd project;
npm run build;
cd ..

... Ich möchte einfach etwas tun wie:

npm run build -config project/package.json;

oder

npm run build -wd project;

Ist das möglich?



Ich glaube nicht, dass es möglich ist, da ich den entsprechenden Schalter nicht gefunden habe, um npm das wd mitzuteilen. Aber, ich denke , Sie Ihre Befehle innerhalb einer Unterschale nennen könnte so cmd /C "cd C:\ && npm -v"mehr sehen hier
mh-cbon

Antworten:


143

Verwendung --prefixhat bei mir funktioniert:

npm --prefix /path/to/project run build

Wo path/to/projectist das Verzeichnis, in dem Ihre package.json mit buildBefehl definiert ist.


Das funktioniert meistens bei mir, aber ich kann nicht viel dokumentieren --prefix. Ich habe einen Weg wie /path/to-my-project/, und es scheint nicht zu funktionieren. Die anderen npm-Abhängigkeiten werden in andere Projektordner anstatt in den node_modulesOrdner verschoben. Gibt es eine Möglichkeit, diesen Argumenten zu entkommen? Ich habe versucht, einfache und doppelte Anführungszeichen ...
ps2goat

1
Dies hat in meinem Visual Studio-Ereignis "Pre-Build" hervorragend funktioniert. Es ist seltsam, dass ich keine --prefixOption in der NPM-Dokumentation gesehen habe.
Dance2die

prefixist keine Option, sondern eine Konfigurationseinstellung. Es ist auf der npm-foldersSeite ( docs.npmjs.com/files/folders )
dokumentiert
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.