2016-04-08 17 views
13

Tại gốc của dự án của tôi, tôi có thư mục frontendbackend. Cả hai thư mục chứa package.json liệt kê các phụ thuộc của chúng. Làm thế nào để tôi nói với Heroku để chạy npm install trên cả hai thư mục khi triển khai ứng dụng? Dường như Heroku dự kiến ​​sẽ có một tệp package.json duy nhất theo mặc định. Tôi có phải làm gì đó với một Procfile không? Tài liệu của Heroku dường như không nói nhiều về câu hỏi cụ thể của tôi.Triển khai chương trình phụ trợ và giao diện người dùng trên cùng ứng dụng Heroku/dyno

Cảm ơn sự giúp đỡ!

Trả lời

5

Dường như bạn có thể đặt tệp package.json vào thư mục gốc của dự án và sử dụng tập lệnh để gọi npm i trong cả hai thư mục.

https://devcenter.heroku.com/articles/nodejs-support#customizing-the-build-process

Something như cd front && npm i && cd ../back && npm i

Nhưng tôi nên nói rằng nếu họ đang chạy trên các cổng khác nhau, nó có thể không làm việc vì nó dường như chỉ có một quá trình web mỗi procfile có sẵn. điểm cuối cùng này là để xác nhận.

+2

Vâng, tôi đã làm điều đó, mặc dù bạn không thể sử dụng 'cd' trong quá trình xây dựng (Heroku sẽ đưa ra lỗi và làm cho bản dựng của bạn thất bại nếu bạn làm), bạn cần phải làm như sau:' "npm --prefix ./front install "'. Tôi đã hy vọng cho một cách "bản xứ" Heroku hơn để làm điều đó. Nếu tôi không nhận được câu trả lời như vậy trước khi tiền thưởng kết thúc, tôi sẽ trao cho bạn tiền thưởng. Vui lòng cập nhật câu trả lời của bạn với thông tin tôi vừa cung cấp. Cảm ơn! – maximedupre

+0

hoặc sử dụng móc hậu cài đặt – malix

4

Bạn có thể xác định một số điểm nhập cảnh cho dự án của bạn trong Procfile:

web: cd front && npm i && npm start 
server: cd backend && npm i && npm start 

Tuy nhiên, bạn phải nâng cấp lên Sở thích ít nhất. Đó là 7 $/dyno/tháng.

Các vấn đề liên quan