heroku的app自動取得目前app名稱

起因

Heroku上的專案預設都是用

https://{your-heroku-app-name}.herokuapp.com

但是每次發布到各的地方都要在改一下設定/程式實在麻煩,像是我常用heroku config去設定HOST_URL,不過原來官方早就有做這個功能,只是我們都沒打開

以前的我

懶惰直接把主機名稱設在HOST_URL

heroku config:add HOST_URL="https://{your-heroku-app-name}.herokuapp.com"

在code裡面用環境變數HOST_URL

process.env.HOST_URL

現在的我

設定啟用heroku的metadata

heroku labs:enable runtime-dyno-metadata

設定後立馬在heroku config就會看到多了幾個環境變數。


之後在code裡面用環境變數HEROKU_APP_NAME就可以取得APP名稱,我自己是用app名稱合得到HOST_URL,Node.js程式碼如下

const HOST_URL = `https://${process.env.HEROKU_APP_NAME}.herokuapp.com`


題外話

如果你的heroku主機有自己的domain就又是另一回事了,哈哈!

留言