Servir archivos estáticos
Echo puede servir assets estáticos como imágenes, JavaScript, CSS, PDFs y fuentes desde el filesystem o desde un filesystem embebido.
Filesystem por defecto
Sección titulada «Filesystem por defecto»Echo usa os.DirFS(".") como filesystem por defecto, con raíz en el directorio de trabajo
actual. Para cambiarlo, establece el campo Echo#Filesystem:
e := echo.New()e.Filesystem = os.DirFS("assets")Usar el middleware Static
Sección titulada «Usar el middleware Static»Consulta middleware Static.
Usar Echo#Static()
Sección titulada «Usar Echo#Static()»Echo#Static(prefix, root string) registra una ruta que sirve archivos estáticos bajo
un prefijo de path desde el directorio raíz dado.
Sirve cualquier archivo de assets bajo /static/*. Un request a /static/js/main.js
sirve assets/js/main.js:
e := echo.New()e.Static("/static", "assets")Sirve cualquier archivo de assets bajo /*. Un request a /js/main.js sirve
assets/js/main.js:
e := echo.New()e.Static("/", "assets")Usar Echo#StaticFS()
Sección titulada «Usar Echo#StaticFS()»Los archivos estáticos se pueden servir desde cualquier fs.FS, incluido un embed.FS. Usa
echo.MustSubFS para que los archivos servidos tengan raíz en el subdirectorio correcto: un
embed.FS incluye sus subdirectorios como entradas propias.
//go:embed "assets/images"var images embed.FS
func main() { e := echo.New()
e.StaticFS("/images", echo.MustSubFS(images, "assets/images"))
sc := echo.StartConfig{Address: ":1323"} if err := sc.Start(context.Background(), e); err != nil { e.Logger.Error("failed to start server", "error", err) }}Usar Echo#File()
Sección titulada «Usar Echo#File()»Echo#File(path, file string) registra una ruta que sirve un único archivo estático.
Sirve una página index desde public/index.html:
e.File("/", "public/index.html")Sirve un favicon desde app/assets/favicon.ico:
e := echo.New()e.Filesystem = os.DirFS("/")e.File("/favicon.ico", "app/assets/favicon.ico") // The file path must not have a leading slash.