Maison >développement back-end >Golang >Comment puis-je servir efficacement les actifs statiques (CSS et JS) dans mon application Web Go ?

Comment puis-je servir efficacement les actifs statiques (CSS et JS) dans mon application Web Go ?

Patricia Arquette
Patricia Arquetteoriginal
2024-12-21 05:52:13842parcourir

How Can I Efficiently Serve Static Assets (CSS & JS) in My Go Web Application?

Servir des actifs dans Go : un guide complet

Dans le didacticiel « Écriture d'applications Web » de Go, les utilisateurs rencontrent souvent des difficultés à servir des fichiers CSS et JS. Ce guide fournit des instructions étape par étape pour résoudre ce problème, garantissant ainsi que votre application Go peut fournir ces ressources essentielles de manière efficace.

Structure des fichiers et chemins d'URL

Pour servir des fichiers statiques, vous devez une structure de fichier qui ressemble à ceci :

go-app/
├── assets
│   ├── css
│   │   └── style.css
│   └── js
│   │   └── script.js
├── main.go
├── index.html

Lors de la définition des chemins d'URL de vos éléments, il existe quelques options :

1. Servir à partir de "/":

http.Handle("/", http.FileServer(http.Dir("css/")))

Ceci sert le répertoire CSS à l'URL racine (/).

2. Utilisation d'un préfixe :

http.Handle("/static/", http.FileServer(http.Dir("static")))

Ceci préfixe tous les chemins de fichiers statiques avec "/static". Ainsi, les fichiers CSS seront accessibles sur /static/css/style.css.

3. Suppression du préfixe :

http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static"))))

Cela supprime le préfixe avant de servir les fichiers. Ainsi, les fichiers CSS seront accessibles sur /css/style.css.

Références HTML

Dans votre fichier HTML, faites référence à vos ressources en utilisant les chemins d'URL appropriés :

<link rel="stylesheet" href="/css/style.css">
<script src="/js/script.js"></script>

main.go mis à jour

Avec ces configurations en place, votre fichier main.go mis à jour devrait ressembler à quelque chose comme ceci :

func main() {
    http.HandleFunc("/view/", makeHandler(viewHandler))
    http.HandleFunc("/edit/", makeHandler(editHandler))
    http.HandleFunc("/save/", makeHandler(saveHandler))
    http.HandleFunc("/", makeHandler(indexHandler))

    http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static"))))

    http.ListenAndServe(":8080", nil)
}

En mettant en œuvre ces recommandations, vous pouvez vous assurer que votre application Go sert avec succès les fichiers CSS et JS, offrant ainsi une expérience utilisateur complète et fonctionnelle.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn