У меня есть родительский проект, содержащий дочерний модуль. Модуль имеет свой собственный bower.json
, который определяет зависимости модуля и .bowerrc
, который указывает, в какую папку они должны быть загружены. Эти зависимости связаны в модуле HTML.
Родительский проект использует package.json
для управления зависимостями Node.
Чтобы запретить пользователям запускать как npm install
(для родительских зависимостей), так и cd module
, bower install
, cd ../
(для зависимостей модулей), я добавил postinstall
script to package.json
:
"scripts": {
"postinstall" : "./node_modules/.bin/bower install ./module/ --config.directory=\"./module/public/bower_components\""
}
Обратите внимание, что единственным способом, с помощью которого я мог бы установить Bower для установки зависимостей модуля в /module/public/bower_components
, было явно указать directory
в postinstall
script.
Однако ./module/.bowerrc
уже содержит эту информацию, поэтому в идеале я хотел бы "сделать" bower install
осведомленным об этом. Это также облегчит обслуживание package.json
, а module
- более портативное.
Я также попытался передать зависимость Bower и postinstall
script в мой модуль package.json
, используя крюк postinstall
в родительском package.json
для запуска npm install
в каталоге модуля. Но этот подход заканчивается модулем. зависимостей, загружаемых в родительскую папку node_modules
.
Есть ли лучший способ решить эту проблему?