Get it on Google Play
Mas de 21 años en el mundo del IT corporativo

Servir contenido estático con Go: Desarrollo Golang

04-02-2019
Golang + Html5

Golang + Html5

Golang es una alternativa muy buena a la hora de desarrollar APIs y aplicaciones web. Pocos lenguajes son mas rápidos y tiene una gestión de la memoria sencilla. Además, ahora con las arquitecturas de microservicios y los contenedores se hace necesario usar herramientas especificas para funciones concretas y como comentava, Go es muy rápido.

En pasados posts ya expliqué(incluso hice un vídeo) donde explicaba como hacer una aplicación web en Go, ahora vamos a ver como servir contenido estático(Imágenes, CSS, Javascript, etc.). El siguiente código sirve contenido estático de la carpeta ‘../static’ en la URL ‘static/'(también tiene en cuenta subcarpetas):

package main
 
import (
	"net/http"
	"html/template"
	)

func main() {
	/* Aquí configuramos(2 líneas) el contenido a servir */
	fs := http.FileServer(http.Dir("../static/"))
	http.Handle("/static/", http.StripPrefix("/static/", fs))

	http.HandleFunc("/", home)
 
	http.ListenAndServe(":8080", nil)
	}

func home(w http.ResponseWriter, r *http.Request) {
	tmpl := template.Must(template.ParseFiles("theme/index.html"))

	data := struct { Saludo string } { "Hola mundo” }

	tmpl.Execute( w, data )
	}

Fijaros que solo usamos dos líneas y el resto del código ya lo tenemos chupado de otros posts.

Si te ha servido, por favor comparte
 

Leave a Reply