アプリを Heroku に配置しようとしています。フロントエンドでangularを使用し、バックエンドでGoを使用しています。
このチュートリアルに従いましたhttp://mmcgrana.github.io/2012/09/getting-started-with-go-on-heroku.html
ただし、heroku アプリのドメインに移動すると、アプリのディレクトリ (git 内のすべて) が取得されます。/app フォルダー (Angular アプリが存在する場所) に移動すると、アプリが表示されます。
アプリを次の場所に置きたくない
foobar.herokuapp.com/app/#/
私はそれがしたいです
foobar.herokuapp.com
私のアプリディレクトリの簡略版は次のとおりです。
foobar
- /app
- /server/server.go
- .godir // contains "app"
- Procfile // contains "web: server"
/server フォルダー内から「go get」を実行しました
これらは機能します:
$ PORT=5000 demoapp
$ curl -i http://127.0.0.1:5000/
これが私の単純なserver.goです
package main
import (
"github.com/gorilla/handlers"
"log"
"net/http"
"os"
)
func main() {
log.Println("Starting Server")
http.Handle("/", logHandler(http.FileServer(http.Dir("../app/"))))
log.Println("Listening...")
panic(http.ListenAndServe(":"+os.Getenv("PORT"), nil))
}
func logHandler(h http.Handler) http.Handler {
return handlers.LoggingHandler(os.Stdout, h)
}