Go Web 学习笔记(六)处理静态文件


Go Web 处理静态文件

对于 HTML 页面中的 CSS 以及 JS 等静态文件,需要使用 net/http 包下的以下方法来进行处理:

  • StripPrefix 函数:返回一个处理器,该处理器会将请求的 URL.Path 字段中给定前缀 prefix 去除后再交由h处理。
  • FileServer 函数:返回一个使用FileSystem接口root提供文件访问服务的 HTTP 处理器。

利用这两个函数在配合使用请求处理器就可以处理网络中专门请求静态文件的请求。

使用案例:

http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("views/static/"))))

/static/ 会匹配 url 中以 /static/ 开头的路径,当浏览器请求 index.html 页面中的 style.css 文件时,static 前缀会被替换为 views/static,然后去当前App运行环境下的 views/static/css 目录中查找 style.css 文件。