首页 > 后端开发 > Golang > 如何在我的 Go Web 应用程序中提供静态资源(CSS 和 JS)?

如何在我的 Go Web 应用程序中提供静态资源(CSS 和 JS)?

Susan Sarandon
发布: 2024-12-20 02:23:08
原创
685 人浏览过

How Can I Serve Static Assets (CSS & JS) in My Go Web Application?

使用 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/...”。

附加说明:

  • 确保“static”目录存在于您的项目中并包含所需的 CSS 和 JS 文件。
  • 调整 http.Handle 函数中的“/static/...”路径以匹配您所需的静态资源
  • 您为“/view/”、“/edit/”、“/save/”和“/index/”提供的处理程序已正常注册,不会影响静态资源服务。

以上是如何在我的 Go Web 应用程序中提供静态资源(CSS 和 JS)?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板