Tôi có một dự án cha mẹ có chứa một mô-đun con. Mô-đun có bower.json
riêng của nó, chỉ định phụ thuộc của mô-đun và .bowerrc
chỉ định thư mục nào sẽ được tải xuống. Những phụ thuộc này được liên kết trong HTML mô-đun.Chỉ định vị trí của .bowerrc khi gọi bower install
Dự án mẹ sử dụng package.json
để quản lý các phụ thuộc của nút.
Để ngăn chặn người dùng cần phải chạy cả hai npm install
(đối với các phụ thuộc cha mẹ) và cd module
, bower install
, cd ../
(đối với các phụ thuộc mô-đun), tôi đã thêm một postinstall
kịch bản để package.json
:
"scripts": {
"postinstall" : "./node_modules/.bin/bower install ./module/ --config.directory=\"./module/public/bower_components\""
}
Lưu ý rằng cách duy nhất mà tôi có thể nhận được Bower để cài đặt các phụ thuộc của mô-đun vào /module/public/bower_components
là nêu rõ directory
trong tập lệnh postinstall
.
Tuy nhiên ./module/.bowerrc
đã chứa thông tin này, vì vậy lý tưởng tôi muốn 'thực hiện' số bower install
nhận thức được điều này. Điều này cũng sẽ làm cho package.json
dễ bảo trì hơn và module
di động hơn.
Tôi cũng đã thử chuyển phụ thuộc Bower và postinstall
script vào mô-đun của tôi package.json
, sử dụng móc postinstall
trong các phụ huynh của package.json
để chạy npm install
trong thư mục module. Nhưng cách tiếp cận này kết thúc bằng mô-đun. phụ thuộc được tải xuống thư mục node_modules
của phụ huynh.
Có cách nào tốt hơn để giải quyết vấn đề này không?
Tại sao bạn cần hai người quản lý gói? Có lẽ bạn có thể dính vào npm? – Magomogo
@GrimurD bạn có thể vui lòng chấp nhận câu trả lời nếu nó giải quyết được vấn đề này –