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

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

Susan Sarandon
Susan Sarandonoriginal
2024-12-20 02:23:08652parcourir

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

Servir des actifs statiques avec Go

Comme vous l'avez mentionné dans le didacticiel Go Writing Web Applications, vous rencontrez des difficultés pour servir CSS et JS dans votre Allez application. Examinons le problème et proposons une solution.

Problème :

Lors de l'exécution du serveur Go, les ressources CSS et JS sont inaccessibles, bien qu'elles fonctionnent correctement lorsque le fichier statique la page est accessible directement.

Solution :

Pour résoudre ce problème, vous Vous devez configurer votre application Go pour gérer et servir des actifs statiques. Voici une version mise à jour de votre fonction principale :

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

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

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

Dans ce code, nous utilisons la fonction http.Handle pour mapper le chemin "/static/" vers un gestionnaire qui sert les fichiers du répertoire "static" . Le constructeur http.FileServer crée un gestionnaire qui sert les fichiers d'un répertoire donné, et http.StripPrefix supprime le préfixe "/static/" du chemin demandé avant de servir le fichier.

En configurant votre application de cette façon, vous demandez au serveur de servir les fichiers CSS et JS à partir du répertoire "static" lorsqu'une requête est faite à "/static/css/..." ou "/static/js/...".

Notes supplémentaires :

  • Assurez-vous que le répertoire "static" est présent dans votre projet et contient le Fichiers CSS et JS requis.
  • Ajustez le chemin "/static/..." dans la fonction http.Handle pour qu'il corresponde à l'actif statique souhaité emplacement.
  • Les gestionnaires que vous avez fournis pour "/view/", "/edit/", "/save/" et "/index/" sont enregistrés normalement et n'affectent pas la diffusion des ressources statiques.

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