2016-04-08 17 views
13

Projemin kökünde, frontend ve backend klasörüne sahibim. Her iki klasör de bağımlılıklarını listeleyen package.json içerir. Uygulamayı dağıtırken Heroku'nun her iki klasörde npm install'u çalıştırmasını nasıl söylerim? Heroku varsayılan olarak tek bir package.json dosyasının olmasını bekler gibi görünüyor. Procfile ile bir şeyler yapmak zorunda mıyım? Heroku'nun dokümantasyonu benim özel sorum hakkında çok şey söylemiyor.Arka uç ve ön uçları aynı Heroku uygulaması/dyno'ya dağıtma

Yardımın için teşekkürler!

cevap

5

projenin kökünde bir package.json dosyayı koymak ve her iki klasörde npm i çağırmak için komut dosyalarını kullanabileceğiniz görünüyor.

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

cd front && npm i && cd ../back && npm i

Ama bunlar farklı portlar üzerinde çalışan eğer procfile başına yalnızca bir web süreci kullanılabilir olduğunu göründüğü gibi, bu çalışmayabilir söylemek gerekir gibi bir şey. bu son nokta onaylamaktır.

+2

Evet, bunu zaten yapıyorum, her ne kadar '' cd''ü yapı sırasında kullanamıyor olsanız da (Heroku bir hata verecek ve eğer yapsanız da yapınızı bozacaktır), aşağıdaki gibi bir şey yapmanız gerekir: '' npm --prefix ./front install "'. Bunu yapmak için daha fazla bir Heroku "yerli" yolu umuyordum. Eğer ödül bitmeden böyle bir cevap alamazsam, sana ödül vereceğim. Lütfen cevabınızı, verdiğim bilgilerle güncelleyin. Teşekkürler! – maximedupre

+0

veya bir posta yükleme kanca kullanın – malix

4

Sen Procfile yılında proje için birkaç giriş noktalarını tanımlayabilirsiniz:

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

Ancak, en azından Hobby yükseltmek zorundayız. 7 $/dyno/ay.

İlgili konular