使用 Go 提供静态资源
正如您在 Go 编写 Web 应用程序教程中提到的,您在服务 CSS 和 JS 时遇到了困难去申请。让我们深入研究这个问题并提供解决方案。
问题:
运行 Go 服务器时,CSS 和 JS 资源无法访问,尽管静态时工作正常页面被访问
解决方案:
要解决此问题,您需要配置 Go 应用程序来处理和提供静态资产。这是 main 函数的更新版本:
func main() { http.HandleFunc("/view/", makeHandler(viewHandler)) http.HandleFunc("/edit/", makeHandler(editHandler)) http.HandleFunc("/save/", makeHandler(saveHandler)) http.HandleFunc("/index/", makeHandler(indexHandler)) http.Handle("/static/", http.StripPrefix("/static/", http.FileServer(http.Dir("static")))) http.ListenAndServe(":8080", nil) }
在此代码中,我们使用 http.Handle 函数将“/static/”路径映射到从“static”目录提供文件的处理程序。 http.FileServer 构造函数创建一个处理程序,为给定目录中的文件提供服务,而 http.StripPrefix 在提供文件之前从请求的路径中删除“/static/”前缀。
通过以这种方式配置您的应用程序,当向“/static/css/...”发出请求时,您指示服务器从“static”目录提供 CSS 和 JS 文件,或者“/static/js/...”。
附加说明:
以上是如何在我的 Go Web 应用程序中提供静态资源(CSS 和 JS)?的详细内容。更多信息请关注PHP中文网其他相关文章!