2016-05-06 2 views
22

Я использую сценарии npm для создания моего проекта. Я хотел бы иметь возможность запускать скрипты из другого каталога. То есть, вместо того, чтобы делать следующее:Как указать путь `package.json` к npm?

cd project; 
npm run build; 
cd .. 

... Я хотел бы просто сделать что-то вроде:

npm run build -config project/package.json; 

или

npm run build -wd project; 

Возможно ли это?

+0

Возможный дубликат http://stackoverflow.com/questions/30286498/change-working-directory-for-npm-scripts – rinogo

+0

Я не думаю, что это возможно, поскольку я не нашел связанный переключатель, чтобы указать npm wd , Но, я думаю, вы могли бы называть свои команды в суб-оболочке вроде этого 'cmd/C 'cd C: \ && npm -v" 'подробнее [здесь] (http://ss64.com/nt/cmd.html) –

ответ

41

Это работает для меня:

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

Где путь/к/проект это каталог, где ваш package.json с командой "строить" определены.

+0

это в основном работает для меня, но я не могу хорошо документировать документацию на '--prefix' минимально. У меня есть путь как '/ path/to-my-project /', и он, похоже, не работает. другие зависимости npm находятся в разных папках проекта, а не в папке 'node_modules'. Есть ли способ избежать этих аргументов? Я пробовал одиночные и двойные кавычки ... – ps2goat

+0

Это отлично поработало в моем событии Visual Studio. Это странно, что я не видел опции '--prefix' в документации NPM. – Sung