ホームページ >バックエンド開発 >Golang >Go Web アプリケーションで静的アセット (CSS および JS) を提供するにはどうすればよいですか?

Go Web アプリケーションで静的アセット (CSS および JS) を提供するにはどうすればよいですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-20 02:23:08706ブラウズ

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

Go で静的アセットを提供する

Go で Web アプリケーションを作成するチュートリアルで述べたように、CSS と JS を Go で提供する際に問題が発生しています。アプリケーションに移動します。問題を詳しく調べて解決策を提供しましょう。

問題:

Go サーバーを実行すると、静的な場合は正しく動作するにもかかわらず、CSS および JS アセットにアクセスできません。ページがアクセスされました

解決策:

この問題を解決するには、静的アセットを処理して提供するように Go アプリケーションを構成する必要があります。メイン関数の更新バージョンは次のとおりです。

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)
}

このコードでは、http.Handle 関数を使用して、「/static/」パスを「static」ディレクトリからファイルを提供するハンドラーにマップします。 。 http.FileServer コンストラクターは、指定されたディレクトリからファイルを提供するハンドラーを作成し、http.StripPrefix はファイルを提供する前に、要求されたパスから "/static/" プレフィックスを削除します。

このようにアプリケーションを構成すると、 「/static/css/...」へのリクエストが行われたときに、「static」ディレクトリから CSS および JS ファイルを提供するようにサーバーに指示するか、または"/static/js/...".

追加メモ:

  • プロジェクト内に「static」ディレクトリが存在し、必要な CSS および JS ファイル。
  • 目的の静的アセットに一致するように、http.Handle 関数の「/static/...」パスを調整します。 location。
  • 「/view/」、「/edit/」、「/save/」、および「/index/」に指定したハンドラーは通常どおり登録され、静的アセットの提供には影響しません。

以上がGo Web アプリケーションで静的アセット (CSS および JS) を提供するにはどうすればよいですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。