【问题标题】:What does /static/ mean in this code?/static/ 在这段代码中是什么意思?
【发布时间】:2016-06-23 17:57:53
【问题描述】:

我正在尝试在 GO 中提供静态 html 文件。 这就是我在 main() 中的代码的样子。

http.Handle("/", http.FileServer(http.Dir("/static/")))
http.ListenAndServe(":8989", nil)

它有效,但我不明白静态是什么意思!有人请解释一下。

【问题讨论】:

  • 这就是您用于提供静态文件的文件夹的定义方式。
  • 用“/”替换“/static/”,看看你的问题是否消失。
  • 或者你可以阅读 http 包的 godoc,无论如何我都会建议。

标签: go static


【解决方案1】:

这意味着,当您处理以根为根的文件系统的内容为 HTTP 请求提供服务的请求时,它会尝试为使用操作系统的文件系统实现的http.Dir 中声明的文件提供服务器。

这意味着每当您访问您的网络服务器索引 url 时,它都会尝试在操作系统/static/ 目录下提供文件。

要在备用 URL 路径下提供磁盘上的目录,您可以使用 StripPrefix 在 FileServer 看到之前修改请求 URL 的路径。

http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("/your/directory/to/static/files"))))
http.ListenAndServe(":8989", nil)

【讨论】:

  • 而这个操作系统在ubuntu中的/static/目录在哪里?
  • 你确定你没有使用相对路径吗?
  • @SimoEndre 文字 /static/ 是您的 Go 应用程序将提供文件的 URL。这些文件来自(使用上面的答案)/your/directory/to/static/files - 也就是说,您想要的任何地方。
  • 谢谢我想通了。非常感谢
【解决方案2】:

这里,/static/ 是用于处理请求的目录的路径。

根据您的设置,您可能希望将其设置为相对路径而不是绝对路径...

【讨论】:

  • 但是这个/static/在哪里。它在我的项目文件中还是在哪里?
  • 它是你机器上的物理目录……
猜你喜欢
  • 1970-01-01
  • 2016-03-28
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多