小编典典

找不到404页面-渲染CSS文件

css

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

src文件夹contains中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" />

阅读 468

收藏
2020-05-16

共1个答案

小编典典

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

例如,如果您从启动应用程序srcgo runserver/server.go它的工作。如果您使用来从src/server文件夹中启动它go run server.go,则它将不起作用。同样,如果您从放入bin文件夹的应用程序创建一个本机可执行文件,然后从该bin文件夹启动该可执行文件,这也将不起作用,因为该css文件夹不在bin文件夹中。

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

2020-05-16