2

私は現在Goで働いています。ローカル マシンに Web サーバーを作成しました。Go Web アプリケーションで CSS をレンダリングするこのページの指示に従いましたが、 それでもプログラムが css ファイルの場所を見つけられないという 404 エラーが発生します。私のディレクトリは次のとおりです。

srcフォルダに が含まれています。またcss/somefilename.csssrcも含まれていますserver/server.go

server.go私のファイル内のコードは次のとおりです。

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

に行くとlocalhost:8080/css/、404ページが見つかりません。また、テンプレートを使用して html コードをレンダリングしています。テンプレートはフォルダにあります

src/templates/layout.html

htmlコードは次のとおりです。

<link rel="stylesheet" type="text/css" href="../css/css490.css" />
4

1 に答える 1

3

フォルダのフル パスを相対パスだけで指定しないため、csscss ファイルが見つかるかどうかは、アプリケーションを実行するフォルダ(作業ディレクトリ、これが相対パスの解決先) によって異なります。

たとえば、からアプリケーションを起動するsrcと、動作しますgo run server/server.gosrc/serverでフォルダーから起動するとgo run server.go、動作しません。また、フォルダーに配置されたアプリからネイティブ実行可能ファイルを作成し、それをbinフォルダーから開始する場合、フォルダーがフォルダーにbinないため、これも機能しません。cssbin

go run server/server.goフォルダーから開始するか、フォルダーをフォルダーにsrcコピーしてcssフォルダーからbin実行可能ファイルを開始するbinと、機能するはずです(ただし、この場合、htmlテンプレートなどの他の静的ファイルもコピーする必要があります)。

于 2015-02-03T08:38:52.740 に答える