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.
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.
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>
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!