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