我无法链接到Go服务器中某个服务页面中的外部CSS文件。
这是我的项目结构,有一些评论。我的$GOPATH
是顶级目录。请注意,有一个“主”可执行文件是通过使用此顶级目录中的 “$ go build main” 命令构建的。它本质上编译了src/main
目录中的文件。然后我直接通过这个可执行文件(“$。\ main”)运行程序。
.
├── bin
├── main <-- Executable, not directory (built via "go build main")
├── pkg
│ └── darwin_amd64
├── src
│ ├── github.com
│ └── main <---- My Go files are here!
├── style
│ └── style.css
└── templates
└── developers.html
我正在尝试将style.css
文件用作developers.html模板中的外部链接样式文件,最终由Go解析和合并。下面列出了简化版本的文件。
<html>
<head>
<link rel="stylesheet" type="text/css" href="style/style.css">
</head>
<body>
...
</body>
</html>
package main
import (
"log"
"net/http"
)
func main() {
styleHandler := http.FileServer(http.Dir("style"))
http.Handle("/style/", http.StripPrefix("/style/", styleHandler))
// router handles other non-static pages,
// and is defined in another .go source file. These are working.
router := MainRouter()
log.Fatal(http.ListenAndServe(":8080", router))
}
我确定问题是我如何对待相对路径,但我无法弄明白。谢谢你的帮助。