2

我目前在 Go 工作。我在本地机器上创建了一个 Web 服务器。我按照此页面上的说明在Go Web 应用程序中渲染 CSS, 但我仍然收到 404 错误,该程序似乎无法找到我的 css 文件所在的位置。我的目录如下。

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

由于您没有为css文件夹指定完整路径,只是相对路径,因此是否找到您的 css 文件取决于您运行应用程序的文件夹(工作目录,这是解析到的相对路径)。

例如,如果您从您的应用程序启动应用程序,src它将go run server/server.go起作用。如果您从您的src/server文件夹中使用启动它go run server.go,它将无法正常工作。此外,如果您从放入bin文件夹的应用程序创建本机可执行文件并从文件夹启动它bin,这也将不起作用,因为css文件夹不在bin文件夹中。

go run server/server.go从文件夹启动它src,或者将css文件夹复制到您的bin文件夹并从文件夹启动可执行bin文件,它应该可以工作(但在这种情况下,您还必须复制其他静态文件,如 html 模板)。

于 2015-02-03T08:38:52.740 回答