いいえ必須ではありませんが、使用しない場合は、ファイルを見つけるためのパスに接頭辞が含まれます。これは、例と明確なので、フォルダ構造を想像しました:
main.go
static/
styles.css
そして、あなたがファイルを提供:
http.Handle("/static/", http.FileServer(http.Dir("")))
が続いyoursite.com/static/styles.css
でファイルを要求するユーザがStyles.cssをファイルになるだろう静的なdirで。しかし、これがうまくいくためにはあなたの道は完璧に並ばなければなりません。
ほとんどの人が代わりに次の操作を行うことを好む:彼らは静的なディレクトリ(またはその逆の名前を変更することなく、/assets/
のようなものにするために彼らのURLパスを変更する可能性があるため
fs := http.FileServer(http.Dir("static"))
http.Handle("/static/", http.StripPrefix("/static/", fs))
を - wをローカルディレクトリ構造を変更します/ outはURLパスを更新します)。
TL;パスプレフィックスは必須ではありませんが、完全に一致するURLパスとローカルディレクトリ構造の要件を破るのに便利です。
[なぜ静的ファイルにアクセスするにはhttp.StripPrefixを使用する必要がありますか?](https://stackoverflow.com/questions/27945310/why-do-i-need-to-use-http -stripprefix-to-access-my-static-files) – putu