在Go中,我们可以通过将静态文件的目录定义为静态目录来处理静态文件,如下所示:
fs := http.FileServer(http.Dir("./static/"))
http.Handle("/files/", fs)
其中静态文件文件夹应位于二进制文件旁边。static
另一种方法是使用新的作为://go embed
//go:embed static
var staticFiles embed.FS
// http.FS can be used to create a http Filesystem
var staticFS = http.FS(staticFiles)
fs := http.FileServer(staticFS) // embeded static files
// Serve static files
http.Handle("/static/", fs)
但是,如果我想将我的大多数静态文件嵌入到二进制文件中,而有些则不是,可以与二进制文件一起使用,我试图混合上面定义的两种方法,但不起作用,只有那些运行平稳,下面的代码失败了,有什么想法吗?embedded
//go:embed static
var staticFiles embed.FS
// http.FS can be used to create a http Filesystem
var staticFS = http.FS(staticFiles)
fs := http.FileServer(staticFS) // embeded static files
// Serve static files
http.Handle("/static/", fs)
www := http.FileServer(http.Dir("./files/")) // side static files, to be beside binary
// Serve static files
http.Handle("/files/", www)
侃侃无极
相关分类