Merge pull request #2 from fLotte-meets-HWR-DB/frontend_server

Frontend server
pull/3/head
leonnicolas 4 years ago committed by GitHub
commit 72269f0f27
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

@ -1,21 +1,21 @@
FROM node:14.14.0-alpine3.10 AS builder
WORKDIR /
COPY package.json package-lock.json ./
RUN npm install && mkdir frontend
RUN npm install && npm install -g @angular/cli && mkdir frontend
RUN mv node_modules ./frontend
WORKDIR /frontend
COPY . .
RUN npm run ng build --prod --crossOrigin=anonymous
RUN ng build --prod --crossOrigin=anonymous
FROM golang:1.13.4-alpine as builder2
RUN apk add git
WORKDIR /
COPY --from=builder /frontend/dist /dist
COPY --from=builder /frontend/dist /dist
RUN go get github.com/rakyll/statik
RUN statik --src=/dist/flotte-frontend
COPY *.go *.sum *.mod /
COPY vendor ./vendor
COPY vendor /vendor
RUN CGO_ENABLED=0 GOOS=linux go build --mod=vendor -o frontend_server
FROM scratch

@ -3,19 +3,28 @@ package main
import (
"log"
"net/http"
"strings"
"github.com/rakyll/statik/fs"
_ "github.com/fLotte-meets-HWR-DB/frontend/statik"
)
func strip(handler http.Handler) http.Handler {
return http.HandlerFunc(func(w http.ResponseWriter, r *http.Request) {
if !strings.Contains(r.URL.Path, ".") {
r.URL.Path = "/"
}
handler.ServeHTTP(w, r)
})
}
func main() {
statikFS, err := fs.New()
if err != nil {
log.Fatal(err)
}
// Serve the contents over HTTP.
http.Handle("/", http.FileServer(statikFS))
log.Fatal(http.ListenAndServe(":8080", nil))
m := http.NewServeMux()
m.Handle("/", strip(http.FileServer(statikFS)))
log.Fatal(http.ListenAndServe(":8080", m))
}

Loading…
Cancel
Save