2016-05-06 20 views
22

Io uso gli script npm per creare il mio progetto. Mi piacerebbe essere in grado di eseguire gli script da una directory diversa. Cioè, invece di fare il seguente:Come specificare il percorso di `package.json` in npm?

cd project; 
npm run build; 
cd .. 

... Mi piacerebbe fare semplicemente qualcosa di simile:

npm run build -config project/package.json; 

o

npm run build -wd project; 

è possibile?

+0

Possibile duplicato di http://stackoverflow.com/questions/30286498/change-working-directory-for-npm-scripts – rinogo

+0

Non credo sia possibile perché non ho trovato il relativo interruttore per dire a npm il wd . Ma, suppongo che potresti chiamare i tuoi comandi all'interno di una sub shell come questo cd "cmd/C" C: \ && npm -v "' vedi di più [qui] (http://ss64.com/nt/cmd.html) –

risposta

41

questo ha funzionato per me:

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

Dove path/to/progetto è la directory in cui il vostro package.json con il comando "costruire" definito.

+0

questo per lo più funziona per me, ma non posso fare molta documentazione su '--prefix' è minimo. Ho un percorso come '/ path/to-my-project /', e non sembra funzionare. le altre dipendenze di npm vanno in cartelle di progetto diverse invece della cartella 'node_modules'. C'è un modo per sfuggire a questi argomenti? Ho provato le virgolette singole e doppie ... – ps2goat

+0

Questo ha funzionato benissimo nel mio evento "Pre-build" di Visual Studio. È strano che non abbia visualizzato l'opzione '--prefix' nella documentazione di NPM. – Sung